728x90

선형 그라데이션

linear-gradient(to <방향> 또는 <각도>, <색상 중지점>, [<색상 중지점>, ....])

 

선형 그라데이션이란 색상이 수직, 수평 또는 대각선 방향으로 일정하게 변하는 것을 뜻한다.

선형 그라데이션을 만들어 주는 linear-gradient 함수에서는 색상이 어느 방향으로 바뀌는지, 어떤 색상으로 바뀌는지 알려 주어야 한다.

  • 방향 :
    그라데이션의 방향을 지시할 때 끝 지점을 기준으로 to 예약어와 함께 사용한다.
    to 다음에는 방향을 나타내는 예약어를 최대 2개까지 사용할 수 있는데 수평방향을 나타내는 left right, 수직 방향을 나타내는 top bottom 을 사용하며 수직, 수평방향의 순서는 상관없이 사용한다.
    ex) background: linear-gradient(to right bottom, blue, white);

  • 각도
    그라데이션의 방향을 지시할 때 끝 지점을 기준으로 deg 로 표기한다.
    CSS에서 각도는 북쪽을 기준으로 0deg 이고, 시계 방향으로 회전하면서 동쪽이 90deg, 남쪽이 180deg, 서쪽이 270deg가 된다.
    ex) background: linear-gradient(45deg, #f00, #fff);

  • 색상 중지점 :
    그라데이션에서 바뀌는 색을 색상 중지점(color-stop) 이라고 한다.
    2가지 색 이상의 선형 그라데이션을 만들기 위해서는 색상이 바뀌는 부분을 지정해 주어야 한다. 이때 쉼표( , )로 색상을 구분하며, 그라데이션의 색상만 지정하거나 색상과 중지점의 위치를 함께 지정할 수 있다.
    ex) background: linear-gradient(to bottom, #06f, white 30%, #06f);

 

 

원형 그라데이션 

radial-gradient(<모양> <크기> at <위치>, <색상 중지점>, [<색상 중지점>, ...])

 

원형 그라데이션이란 색상이 원 또는 타원의 중심에서부터 동심원을 그리며 바깥 방향으로 색상이 바뀌는 것을 뜻한다.

따라서 원형 그라데이션은 색상이 바뀌기 시작하는 원의 중심과 크기를 지정하고 그라데이션의 모양을 선택한다.

  • 모양 :
    원형 그라데이션에서 만들어지는 모양은 원형(circle)과 타원형(ellipse)으로, 기본값은 타원형(ellipse) 이다.
    ex) background: radial-gradient(circle, white, yellow, red);

  • 크기 :
    원의 모양(circle 또는 ellipse)과 크기를 나타내는 키워드 값을 함께 사용한다.
    ex) background: radial-gradient(cicle closest-side at 30% 40%, white, yellow, green);
    • closest-side
      원형이라면 그라데이션 가장자리가 그라데이션 중심에서 가장 가까운 측면에 닿게 하고, 
      타원형이라면 그라데이션 가장자리가 그라데이션 중심에서 가장 가까운 가로 또는 세로 측면과 닿게 한다.

    • closest-corner :
      그라데이션 가장자리가 그라데이션 중심에서 가장 가까운 코너에 닿게 한다.

    • farthest-side
      원형이라면 그라데이션 가장자리가 그라데이션 중심에서 가장 멀리 떨어진 측면에 닿게 하고,
      타원형이라면 그라데이션 가장자리가 그라데이션 중심에서 가장 멀리 떨어진 가로 또는 세로 측면과 닿게 한다.

    • farthest-coner
      그라데이션의 가장자리가 그라데이션의 중심에서 가장 멀리 떨어진 코너에 닿게 한다. (기본값)

  • 위치
    at 키워드와 함께 지정하여 그라데이션이 시작하는 원의 중심을 다르게 나타낼 수 있다.
    사용할 수 있는 위치 속성값은 키워드(left, center, right 중 하나 또는 top, center, bottom 중 하나) 또는 백분율이다.
    속성값을 생략하면 가로와 세로 모두 중앙인 center로 인식한다.
    ex) background: radial-gradient(circle at 20% 20%, white, blue);

  • 색상 중지점 :
    쉼표( , )로 색상을 구분하며, 그라데이션의 색상만 지정하거나 색상과 중지점의 위치를 함께 지정할 수 있다.
    ex) background: redial-gradient(yellow, white 10%, orange 60%);

 

 

그라데이션을 사용한 패턴 만들기 

선형 그라데이션은 repeating-linear-gradient를, 원형 그라데이션은 repeating-radial-gradient를 사용하여 반복 패턴을 만들 수 있다.

  <style>
	.grad1 {
		background: red; 
		background: repeating-linear-gradient(yellow, red 20px); 
	}
	.grad2 {
		background: #ccc; 
		background: repeating-radial-gradient(circle, white, #ccc 10%); 
	}
  </style>

이대로 표현하면 그라데이션끼리 반복되어 만나는 부분이 겹쳐 자연스럽지 않게 보인다.

그래서 그라데이션을 반복해서 패턴을 만들 때는 각 색상 중지점의 위치를 적절하게 조절하여 명확히 구분해 주어야 한다.

 

  <style>
	.grad1 {
		background: red; 
		background: repeating-linear-gradient(yellow, yellow 20px, red 20px, red 40px); 
	}
	.grad2 {
		background: #ccc; 
		background: repeating-radial-gradient(circle, white, white 10%, #ccc 10%, #ccc 20%); 
	}
  </style>

728x90

backgrounnd-image : 웹 요소에 배경 이미지 넣기

background-image: url('이미지 파일 경로')

 

이미지 파일은 *.jpg, *.gif, *.png 형식을 사용하며 파일 경로에는 작은따옴표(' ')나 큰따옴표(" ")를 붙인다. 파일 경로에는 현재 웹 문서를 기준으로 상대 경로를 지정할 수도 있고, http://로 시작하는 절대 경로를 사용할 수도 있다.

 

※ 배경을 넣을 때 요소보다 이미지 크기가 작으면 이미지가 가로와 세로로 반복되면서 요소의 배경을 가득 채운다.

 

 

background-repeat : 배경 이미지의 반복 방법 지정

background-reaeat 속성을 사용하면 배경 이미지를 가로와 세로 중에서 어떤 방향으로 반복할지 지정하거나, 반복하지 않고 한 번만 나타나게 할 수 있다.

  • repeat : 브라우저 화면에 가득 찰 때까지 가로와 세로로 반복 (기본값)
  • repeat-x : 브라우저 화면 너비에 가득 찰 때까지 가로로 반복
  • repeat-y : 브라우저 화면 높이에 가득 찰 때까지 세로로 반복
  • no-repeat : 한 번만 표시하고 반복하지 않음

 

 

background-position : 배경 이미지의 위치 조절

background-position: <수평 위치> <수직 위치>;

수평 위치: left | center | right | <백분율> | <길이 값>

수직 위치: top | center | bottom | <백분율> | <길이 값>

 

background-position 속성을 이용하면 배경 이미지의 수평 위치 또는 수직 위치의 값을 지정 할 수 있다.

속성값을 2개로 지정한다면 첫 번째 값은 수평 위치의 값이 되고 두 번째 값은 수직 위치의 값이 된다.

속성값을 1개만 지정한다면 웹 브라우저에서는 지정한 값을 수평 위칫값으로 간주하고, 수직 위칫값은 50%나 center로 간주한다.

 

  • 키워드 
    배경 이미지의 위치를 지정할 때 가장 많이 사용하는 속성
    수평 위치는 left, center, right 중에서 선택할 수 있고 수직 위치는 top, center, bottom 중에서 선택할 수 있다.
    ※ 배경 이미지의 수직, 수평 위치를 모두 가운데로 지정한다면 background-position: center center; 이 아닌 background-position: center; 라고 줄여 쓸 수 있다.

  • 백분율(%) :
    위치 속성값을 백분율로 표시한다는 것은 요소가 있는 해당 위치에 배경 이미지의 위치를 백분율로 계산하여 맞춘다는 뜻이다.
    예를들어 background-position: 30% 60%; 라면 배경 이미지를 넣을 요소의 왼쪽 모서리로부터 가로 30%, 세로 60% 의 위치에 비경 이미지의 가로 세로가 각각 30%, 60%인 위치를 맞춘다.

  •  크기 
    배경 이미지의 위치를 길이로 직접 지정한다.
    예를들어 background-position: 30px 60px; 이라고 지정하면 가로 30픽셀, 세로 60픽셀의 위치에 배경 이미지의 왼쪽 상단 모서리를 맞춘다.

 

 

background-origin : 배경 이미지의 적용 범위 조절

background-origin 속성을 이용하여 배경 이미지를 패딩이나 테두리까지 포함해서 표시할 수 있다.

  • content-box : 박스 모델에서 내용(콘텐츠) 부분에만 배경 이미지를 표시 (기본값)
  • padding-box : 박스 모델에서 패딩까지 배경 이미지 표시
  • border-box : 박스 모델에서 테두리까지 배경 이미지를 표시

 

 

background-attachment : 배경 이미지 고정

배경 이미지가 있는 웹 문서를 웹 브라우저에서 열고 스크롤 막대를 위아래로 조절하면 문서 전체가 움직이므로 배경 이미지도 함께 이동한다. 이때 background-attachment ​속성을 사용하면 배경 이미지를 고정할 수 있다.

  • scroll : 화면을 스크롤하면 배경 이미지도 스크롤된다. (기본값)
  • fixed : 화면을 스크롤하면 배경 이미지는 고정되고 내용만 스크롤된다.

 

 

background : 하나의 속성으로 배경 스타일 한번에 지정

위에서 설명한 배경 이미지 관련 속성은 background라는 하나의 속성으로 줄여 사용할 수 있다.

 

 

background-size : 배경 이미지 크기 조절

배경을 채울 요소 크기에 비해 이미지가 너무 작거나 클 경우 background-size 속성을 사용하여 배경 이미지의 크기를 조절할 수 있다. 특히 화면에 배경 이미지를 가득 채워야 할 경우에 유용하게 사용된다.

속성값이 하나라면 그 값은 너비로 인식하고 높이는 원래 이미지의 너비와 높이 비율에 따라 자동으로 계산한다.

  • auto : 원래 배경 이미지 크기만큼 표시 (기본값)
  • contain : 요소 안에 배경 이미지가 다 들어오도록 이미지를 확대 혹은 축소
  • cover : 배경 이미지로 요소를 모두 덮도록 이미지를 확대 혹은 축소
  • <크기> : 이미지의 너비와 높이를 지정한다. 값이 하나만 주어질 경우 너빗값으로 인식하며, 원래 이미지의 너비와 높이 비율에 따라 높잇값도 자동으로 계산한다.
  • <백분율> : 배경 이미지가 들어갈 요소의 크기를 기준으로 값을 백분율로 지정하고 그 크기에 맞도록 배경 이미지를 확대 혹은 축소한다.
728x90

background-color : 배경색 지정

background-color: <16진수> | <rgb값> | <색상이름>

 

배경을 넣고 싶은 요소의 스타일 규칙을 만들 때 background-color 속성을 사용한다.

background-color는 16진수나 rgb값 또는 색상 이름을 사용해서 지정할 수 있다.

 

 

background-clip : 배경색의 적용 범위 조절

background-clip: border-box | padding-box | content-box

 

배경을 넣고 싶은 요소마다 속성을 입력하면 되지만 박스 모델 관점에서 배경의 적용 범위를 조절할 수도 있다.

  • border-box : 박스 모델의 가장 외곽인 테두리까지 적용 (기본값)
  • padding-box : 박스 모델에서 테두리를 뺀 패딩 범위까지 적용
  • content-box : 박스 모델에서 내용(콘텐츠) 부분에만 적용

'웹 개발' 카테고리의 다른 글

[CSS] 그라데이션 효과 넣기  (0) 2022.07.09
[CSS] 배경 이미지 지정  (0) 2022.07.05
[CSS] 웹 요소의 위치 지정  (0) 2022.04.22
[CSS] 레이아웃 만들기  (0) 2022.03.22
[CSS] 여백을 조절하는 margin과 padding 속성  (0) 2022.03.02
728x90

left, right, top, bottom : 웹 요소의 위치 지정

position 속성으로 기준 위치를 정한 뒤, 요소의 위치를 left, right, top, bottom 속성에서 선택하고 속성값을 지정한다.

  • left : 기준 위치와 요소 사이에 왼쪽으로 얼마나 떨어져 있는지 지정
  • right : 기준 위치와 요소 사이에 오른쪽으로 얼마나 떨어져 있는지 지정
  • top : 기준 위치와 요소 사이에 위쪽으로 얼마나 떨어져 있는지 지정
  • bottom : 기준 위치와 요소 사이에 아래쪽으로 얼마나 떨어져 있는지 지정
    #pos1{
      position:absolute;
      left:50px; 
      top:50px;  
    }
    #pos2 {
      position:absolute;  
      right:100px;
      top:100px; 
    }
    #pos3 {
      position: absolute; 
      left:100px;   
      bottom:100px;  
    }
    
...

   <p id="pos1">Ex et adipisicing voluptate aliqua ...</p>
   <p id="pos2">Lorem ipsum reprehenderit ...</p>
   <p id="pos3">Excepteur voluptate ad irure ipsum duis...</p>

...

 

 

position : 배치 방법 지정

position 속성을 이용하여 텍스트나 이미지 요소를 나란히 배치하거나 원하는 위치를 선택하는 등, 웹 문서 안의 요소를 자유롭게 배치할 수 있다.

  • static : 문서의 흐름에 맞춰 배치한다. (기본값)
  • relative : 위칫값을 지정할 수 있다는 점을 제외하면 static과 같다.
  • absolute : relative값을 사용한 상위 요소를 기준으로 위치를 지정해 배치한다.
  • fixed : 브라우저 창을 기준으로 위치를 지정해 배치한다.

absolute값은 position: relative를 사용한 요소를 기준으로 위치를 결정하는데 만약 부모 요소 중에 없으면 상위 요소를 찾아보고, 그래도 없다면 더 위의 요소를 찾아본다. 다시말해 어떤 요소에 position: absolute를 사용하려면 부모 요소에는 position: relative라고 지정해야 원하는 대로 배치할 수 있다.

+ Recent posts