The Debugging Chronicles : "코드의 미학"
chapter4. 태그를 표현하는 CSS와 advanced CSS(css3) 본문
chapter4. 태그를 표현하는 CSS와 advanced CSS(css3)
sweetseonah1004 2024. 8. 6. 22:5301 css 개요 및 css 기본 사용법
- CSS는 디자인, 레이아웃, 다양한 기기 및 화면 크기에 따른 디스플레이의 다양성 문제를 포함한 웹 페이지의 스타일을 정의할 때 사용한다.
- CSS는 작성 위치에 따라 스타일시트를 태그의 style속성에 기술하는 인라인(inline)스타일시트, 스타일시트를 html 문서 내에 포함해서 작성하는 내부(internal) 스타일시트, 스타일시트를 별도의 파일로 작성하는 외부(external)스타일 시트가 있다.
- 스타일 시트를 구성하는 규칙 집합(rule set or rule)은 셀렉터(selector)와 선언 블륵 ({ })으로 구성된다. 셀렉터에는 태그명,id속성 값, class 속성 값이 올 수 있다
02 CSS의 주요 속성과 값
종류
|
속성
|
설명
|
값
|
기본 값
|
적용 대상
|
글자색
|
color
|
텍스트 문자열의 글자색을 지정하는데 사용
|
<color>
| inherit(부모로부터 상속)
|
브라우저에 따라 다름
|
모든 태그
|
배경
|
background- color
|
배경색을 지정하는데 사용
|
<color>
| transparent(투명한 색상 지정)
| inherit
|
transparent
|
|
backround-image
|
배경 이미지를 지정하는데 사용
|
<uri>
| none(없음)
I inherit
|
none
|
||
background-repeat
|
배경의 이미지가 있는 경우, 이것을 반복해서 표시할지 여부를 결정하는데 사용
|
repeat(수평, 수직 양방향으로 반복)
| repeat-x(수평으로만 반복)
| repeat-y(수직으로만 반복)
| no-repeat(반복 안 함)
I inherit
|
repeat
|
||
background-attachment
|
배경에 이미지가 있을 때 화면의 스크롤이 이동하더라도 이미지를 고정적으로 보여줄 것인지으 여부를 지정
|
scroll(스크롤)
| fixed(고정)
I inherit
|
scroll
|
||
background-position
|
배경 이미지가 있을 경우 이미지의 초기 위치를 지정
|
[[ <percentage> | <length> | left | center | rignt ] [ <percentage> | <length> | top | center | bootom ]?]
| [ [left | center | rignt] || [top | center | bootom] ]
| inherit
|
0% 0%(x와 y의 크기 쌍으로 기술)
|
||
background
|
모든 배경 속성을 한 번에 표기하기 위한 속성
|
- 폰트를 지정하는 스타일
속성
|
설명
|
값
|
기본 값
|
적용 대상
|
font-family
|
엘리먼트에 설정 할 폰트의 종류를 지정하는데 사용
|
[[<family-name> | <generic-family>]
[, <family-name> | <generic-family>]*]
| inherit
|
브라우저에 따라 다름
|
모든 태그
|
font-style
|
폰트 스타일을 지정한다.
|
normal | italic(기울임꼴)
| oblique(기울임꼴) | inherit
|
normal
(스타일이 없는
일반 형태)
|
|
font-variant
|
소문자를 모두 대문자로 표시할 때
사용
|
normal | small-caps | inherit
|
normal
|
|
font-weight
|
폰트의 굵기 선택
|
normal | bold | bolder | lighter | 100 | ...
| inherit
|
normal
|
|
font-size
|
폰트의 크기를 지정하는 속성
|
<absolute-size> | <relative-size> | <length> | <percentage> | inherit
|
medium
|
|
font
|
모든 속성 한 번에 표시
|
- 텍스트를 지정하는 스타일
속성
|
설명
|
값
|
기본 값
|
적용 대상
|
text-indent
|
문단에서 첫 번째 줄의 들여쓰기를 지정
|
<length> | <percentage> | inherit
|
0
|
block-level element,
table cells,
inline blocks
|
text-align
|
문단의 내용을 왼쪽, 오른쪽 등으로 맞춤
|
left | right | center | justify | inherit
|
left | right
|
|
text-decoration
|
텍스트에 장식을 지정한다.
|
none | [underline || overline || line-through] | inherit
|
none
|
모든 태그
|
letter-spacing
|
글자 간격을 지정
|
normal | <length> | inherit
|
normal
|
|
word-spacing
|
단어 간격을 지정
|
|||
text-transform
|
영문자의 첫 글자를 대문자로 변환하거나 영문자의 대소문자의 변경을 지정
|
capitalize | uppercase | lowercase | none
| inherit
|
||
white-space
|
태그 내의 여백을 처리하는 방법을 정의
|
normal | pre } nowrap | pre-wrap | pre-line | inherit
|
- 테이블을 지정하는 스타일
종류
|
속성
|
설명
|
값
|
기본 값
|
적용 대상
|
모델 표시
|
display
|
테이블 모델 표시와 관련되어있다.
|
모든 태그
|
||
내용 배치
|
vertical-algin
|
테이블 각각의 셀의 수직 맞춤을 결정
|
baseline | top | middle | bottom
|
||
text-algin
|
테이블 내용의 정렬 결정
|
left | center | right
|
left
|
- 테두리를 지정하는 스타일
모델
|
설명
|
속성
|
기본 값
|
separated
|
각각의 셀로 구성된 모델이다.
|
border-spacing, empty-cells
|
|
collapsing
|
하나의 셀들이 연속되어 한 덩어리로 합쳐진 듯한 모양을 갖는 셀이다.
|
border
|
none | hidden | dotted | dashed | solid | double
|
· separated 보더 모델과 collapsing 보더 모델은 border-collapse 속성의 값에 따라 결정된다.
- 박스 모델을 지정하는 스타일
종류
|
속성
|
설명
|
값
|
기본 값
|
적용 대상
|
margin
|
margin-top, margin-right, margin-bottom, margin-left
|
margin 영역의 위쪽, 오른쪽, 아래쪽, 왼쪽의 마진을 의미한다.
|
<margin-width> | inherit
|
0
|
table-caption, table, inline-table 등의 테이블 관련 태그들을 제외한 모든 태그
|
margin
|
모든 마진 속성을 한 번에 준다.
|
<margin-width>{1,4} | inherit
|
개별적인 속성들
|
||
padding
|
padding-top, padding-right, padding-bottom, padding-left
|
padding 영역의 위쪽, 오른쪽, 아래쪽, 왼쪽의 패딩딩을 의미한다.
|
<padding-width> | inherit
|
0
|
table-row-group, table-header-group,
table-footer-group, table-row,
table-colum-group,
table-colum 태그들을 제외한 모든 태그
|
padding
|
모든 패딩 속성을 한 번에 준다.
|
<padding-width>{1,4} | inherit
|
개별적인 속성들
|
03 미디어 쿼리(Media Query)
- 미디어 쿼리
· 미디어 및 화면에 크기에 따라 다른 스타일 시트가 적용되도록 하는 것을 말한다.
· 정보화 기기들이 다양해짐에 따라 브라우저를 사용해서 웹 사이트를 보는 화면의 크기도 다양해졌기 때문에 사용자가 보기 편하도록 화면의 크기가 달라진다.
- 미디어 쿼리 사용법
1. 기본적인 스타일 - 공통 스타일
html, body, div, p{margin : 0;}
2.특정 태그에만 적용되는 스타일
div ul li{display : inline;} // <div>의 하위 태그인 <ul>의 하위 태그인 <li> 태그에만 적용
3. 미디어쿼리 - 화면의 크기별로 각각 지정
- 미디어 쿼리의 작성 위치
1. html 페이지의 <link> 태그를 사용해서 기술하는 방법
2. CSS 파일에 미디어 쿼리 구문을 추가하는 방법 : 권장
- 미디어 쿼리 구문 작성 방법
1. @media screen 으로 시작
2. 조건을 추가
화면의 넒, 높이, 색, 격자 등 다양한 형태로 적용하는 것이 있음
@media screen and (조건 추가)...
// 화면의 크기가 320px~500px
@media screen and (min-width : 320px) and (max-width : 550px) {}
// 720px 이하
@media screen and (max-width : 720px) {}
// 1000px 이상
@media screen and (min-width : 1000px) {}
04 Adavanced CSS(CSS3)의 추가 기능
- Advanced CSS
· 스타일시트의 최신 표준이다. (기존의 CSS + CSS3(추가된 신기능))
· 실렉터, 박스 모델, 배경과 테두리, 이미지 관련, 텍스트 효과, 2D/3D 트랜스폼, 애니메이션, 폰트, 다단 기능을 제공한다.
· 사용 시 속성에 벤더 프리픽스를 추가하고 스타일 구문의 마지막에 표준 규약의 기술한다.
- 테두리와 배경
· border-radius 속성 : 둥근 모서리 지정
· box-shadow 속성 : 그림자 효과 지정
· Advaned CSS의 색상 : 기존의 색상 및 투명도가 추가된 RGBA와 HSLA 색상을 사용 가능하다. (background-color)
· border-image 속성 : 테두리에 이미지를 사용할 수 있다.
- 배경
· 배경 이미지 중첩
· background-size 속성 : 배경 이미지 크기 조절
- 텍스트 효과
· text-shadow 속성 : 글자에 그림자 등의 효과
- 그래디언트
· 선형과 원형 두 개의 타입의 그래디언트를 제공
· linear-gradient, radial-gradient
- 트랜스폼(transform)
· translate() : 개체(태그)를 지정한 픽셀만큼 가로, 세로, 가로세로 이동 시킨다.
· rotate() : 개체(태그)를 지정한 각도만큼 회전시킨다.
· scale() : 주어진 값에 따라 개체(태그)를 지정한 크기만큼 확대하고 축소한다.
· skew() : 지정한 각도 값을 가지고 개체를 왜곡한다.
- 트랜지션
· 어떤 형태에서 다른 형태로 변환을 주는 기능이다.
· 원하는 형태 변환을 기술하고, 그 형태로 변환될 때의 지속 시간을 기술해야 한다.
- 애니메이션
· 개체나 이미지 등에 움직임 효과를 주는 것으로 기존의 자바스크립트나 플래시 등에서 하던 작업을 대체한다.
· 애니메이션 규칙 등을 @keyframes 규칙에 정의하고 이 정의한 규칙을 필요한 곳에서 animation을 사용해서 쓴다.
@keyframes 애니메이션규칙이름 {
start // 애니메이션이 시작할 때 형태 등을 지정
... // 특정 지점에서의 형태 등을 지정
end // 애니메이션이 끝나는 형태 등을 지정
}
// 사용
div {
animation: 애니메이션규칙이름 지속시간;
}
- 필터
· 이미지 등에 사진에서 사용하는 블러, 밝기 조절 , 세피아와 같은 필터 기능을 줄 때 사용한다.
· 엣지에서는 아직 이 기능을 제공하지 않는다.
filter : 필터 값;
// none, blur(), brightness(), contrast(), drop-shadow(), gray-scale(),
// hue-rotate(), invert(), opacity(), saturate(), sepia() 등
- 라운드 이미지
- 썸네일 이미지
- 다단
05 부트스트랩
부트스트랩은 HTML, CSS, JavaScript 반응형 웹사이트, 모바일 우선 웹 사이트를 쉽게 작성할 수 있도록 해주는
무료 프레임워크로 그리드 기반의 디자인, 캐러셀, 모달 등을 쉽게 구현하는 방법을 제공
'FrontEnd > 쉽게 배우는 HTML5& CSS3 그리고 JavaScript' 카테고리의 다른 글
chaper7. 뭔가 만들어 보죠! (반응형 웹 사이트 만들기) (0) | 2024.09.02 |
---|---|
chapter6. 애니메이션을 만드는 캔버스(Canvas) (0) | 2024.08.29 |
Chapter5.동작을 처리하는 자바스크립트와 제이쿼리 라이브러리 (0) | 2024.08.28 |
Chapter03 - 문서를 구조화하는 HTML (0) | 2024.08.05 |
Chapter01 - HTML5, CSS3, 자바스크립트의 개요 (0) | 2024.08.05 |