1. 이름
미리 정해진 색상 이름
blue, red, yellow, lightblue, cyan …
현업에서는 디자인에서 정확한 색상 코드(16진수)로 주로 넘어오기 때문에 잘 쓰지 않는 방법
color: blue;
2. rgb or rgba값
rgb : 0~255까지의 값으로 Red, Green, Blue의 수치를 각각 표현(0은 검은색 ~ f로 갈수록 rgb)
color: rgb(0,200,0);
background-color: rgba(0, 0, 255, 0.1);
3. 16진수 코드(hex, hexadecimal)
16진수란? 수를 0~15까지의 숫자로 표현하는 방법
0~9 + A~F = 16진수
10->A, 11->B, 12->C, 13->D, 14->E, 15->F
형식 : #[6자리16진수]
#000000 ~ #ffffff
두자리씩 각각 R, G, B를 표현
#000000 : black / #FFFFFF : white / #FF0000 : Red / #00FF00 : Green / #0000FF : Blue
color: #e25252;
기타 : HSL 등
색을 지정할 수 있는 속성 예시
color 속성 : 글자색 지정
background-color : 배경 색 지정
border-color : 테두리 색 지정
색상 관련 팁
구글에 color picker 검색
컬러 팔레트 사이트
불투명도 설정
기본값: 1
0.0 ~ 1.0이하의 숫자 사용
% 사용 가능
0으로 갈수록 투명해짐
opacity: 내부에 있는 모든 요소가 투명/불투명해짐
rgba: 내부에 있는 콘텐츠는 그대로 있고 배경만 투명/불투명해짐
input
html <div> Lorem ipsum, dolor sit amet consectetur adipisicing elit. Eaque iusto odio fuga dignissimos perferendis. </div> <div class="floating-box"> 안녕하세요~! </div> css .floating-box { width: 150px; height: 150px; position: fixed; top: 10px; left: 10px; background-color: cadetblue; opacity: 0.4; }
1) background-color : 배경색
2) background-image : 배경 이미지
input
html <div class="floating-box"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque perspiciatis ipsum autem saepe soluta quos nulla illo minima aut voluptatum laboriosam iusto aliquid, est, vel explicabo ullam magni laudantium modi. </div> css .floating-box { width: 500px; height: 500px; position: fixed; top: 10px; left: 10px; background-image: url(https://interactive-examples.mdn.mozilla.net/media/examples/lizard.png); background-color:peachpuff }
3) background-repeat : 배경 이미지 반복 여부
repeat: 요소의 배경 영역을 채울 때까지 이미지를 반복.
no-repeat: 이미지를 반복하지 않음
repeat-x (가로 반복)
repeat-y (세로 반복)
input
html <div class="box"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae optio eveniet illo facilis aliquam neque blanditiis nulla, ut quos aliquid veritatis ullam, expedita officia hic fuga molestiae voluptatibus provident aut. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae optio eveniet illo facilis aliquam neque blanditiis nulla, ut quos aliquid veritatis ullam, expedita officia hic fuga molestiae voluptatibus provident aut. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae optio eveniet illo facilis aliquam neque blanditiis nulla, ut quos aliquid veritatis ullam, expedita officia hic fuga molestiae voluptatibus provident aut. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Vitae optio eveniet illo facilis aliquam neque blanditiis nulla, ut quos aliquid veritatis ullam, expedita officia hic fuga molestiae voluptatibus provident aut. </div> css .box { height: 500px; border: 5px solid red; background-image: url(https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg); /* background-repeat: repeat-x; */ background-repeat: no-repeat; }
4) background-position : 배경 이미지의 위치 지정
기본 키워드 : top, bottom, left, right, center
퍼센트, 길이 등 지정
input
html <div class="box"></div> css .box { /* width: 300px; */ height: 500px; border: 5px solid red; background-image: url(https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg); background-repeat: no-repeat; background-position: center; /* background-position: 30px 150px; */ /* background-position: center top; */ /* 순서 상관 없음 */ /* background-position: left bottom; */ }
5) background-origin : 배경 이미지의 시작 위치
bg-origin 기본값은 padding-box
background-origin: padding-box
background-origin: border-box
background-origin: content-box;
input
html <div class="box"></div> css .box { /* width: 300px; */ height: 500px; border: 30px dashed blue; padding: 30px; background-image: url(https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg); background-repeat: no-repeat; background-origin: content-box; }
6) background-size : 배경 이미지의 크기
이미지의 크기를 그대로 두거나, 늘리고 줄이거나, 공간에 맞출 수 있다
기본 값: auto
background-size: contain;
contain / cover : 이미지의 비율을 유지하며 요소의 크기에 맞춰진다
background-size: cover
이미지 비율은 유지하면서 가로 길이에 이미지를 맞춤.
상품 카드만들때 뒷배경 보이지 않게 할 때
px
%
7) background-shorthand
<background-color>
사용
<bg-image>
와 <repeat-style>
사용
<box>
와 <background-color>
사용
단일 이미지, 중앙 배치 및 크기 조절
<bg-size>
값은<position>
바로 뒤에만 위치할 수 있으며 '/' 문자로 구분해야 합니다.<bg-color>
는 다른 것들과 함게 사용 시 맨 뒤에 위치 해야함background: url("") repeat origin position/size% color
폰트 관련된 CSS 속성
font-size
font-style
font-weight
font-family : 글꼴(서체) 지정. 폰트 다운로드 및 적용 방법
기본 font family
폰트 이름이 한 단어가 아니라 여러 단어라면, 따옴표(“”)로 감싸줘야 함
커스텀 폰트 적용 방법
모든 브라우저에서 잘 호환되는 폰트를 사용하는 것이 안전하다(web safe, 100%는 불가능하겠지만 최대한..!)
text-align : 텍스트의 가로 정렬을 위해 사용하는 속성
text-align-last : 텍스트의 마지막줄의 text-align을 지정
모든 HTML 요소는 box로 표현된다.
아래 4가지로 구성되어 있음
실제 content : width, height 속성으로 크기 조절
border : 테두리
padding : border 내부의 여백 (content 주위를 둘러싸는 여백)
margin : border 외부의 여백(요소와 요소 사이의 여백)
요소의 총 크기 계산
디자인을 정확하게 적용하기위해 반드시 알아둬야 함
총 크기 = content 크기(width, height 속성) + 사방 border + 사방 padding
box-sizing 속성 : 이 값을 어떻게 주느냐에 따라, 요소(박스)의 총 크기를 화면에 표시하는 방식이 달라짐
content-box(default) : 오직 content의 크기만 width, height로 지정
border-box : padding, border를 포함하여 크기 지정. simple!
총 width(height) = width, height 속성으로 준 값(content, padding, border가 다 포함되어있음)
(각 조직마다 다르지만) 최근에는 개발자가 디자인에 맞춰서 코드를 작성하고 계산하기 편하기 때문에, 거의 필수로 border-box로 지정해주는 경우가 많음
테두리 스타일 지정
border-style : dotted, dashed, solid(실선) 등
border-width
수치 직접 지정(px, pt, cm, em …)
미리 지정된 이름 : thin, medium, thick
border-color
border-radius
모서리를 둥글게 표현할 수 있음
수치가 커질수록 둥글다
border의 shorthand를 자주 사용함
border: 10px solid red;
사방 중 하나를 지정하여 border 스타일을 지정할 수 있음
margin : border 외부의 여백(요소와 요소 사이의 여백)
사방 중 하나를 지정해서 줄 수 있음 : margin-top, margin-bottom, margin-left, margin-right
margin 속성에 들어가는 값
수치(length) : px, em, rem, pt, cm …
퍼센트(%) : 감싸고 있는 컨테이너(부모 컨테이너)의 width 대비 몇%인지
auto : 브라우저가 계산한 값 자동 적용 (대부분 균등하게 분배)
참고 : margin collapse
padding : border 내부 여백(content 주위를 둘러싸는 여백)
사방 중 하나를 지정해서 줄 수 있음 : padding-top, padding-bottom, padding-left, padding-right
padding 속성에 들어가는 값
수치(length)
퍼센트(%)
⭐️ margin, padding의 shorthand는 자주 사용하므로 순서를 외워두는 것이 좋음
top right bottom left
margin: 10px 400px 10px 400px;
값을 하나만 적으면? 네 면 모두 적용
margin: 10px;
두 개 적으면 : 위아래, 양옆
margin: 10px 200px; margin: 0 auto;
세 개 적으면 : 위, 양옆, 아래
margin: 10px 200px 10px;