안녕하세요 찐망고입니다.
오랜만에 reset문서를 수정해 봅니다.
1. 기본 HTML 요소의 초기화
- 목적: 모든 기본 HTML 요소의 여백과 패딩을 제거하고, 기본 글꼴 스타일을 초기화.
- 코드:
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strong, sub, sup, var,
b, u, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
2. HTML5 요소에 대한 초기화
- 목적: HTML5 요소들이 블록 요소로 렌더링 되도록 설정.
- 코드:
article, aside, details, figcaption, figure,
footer, header, menu, nav, section, picture, source {
display: block;
}
3. 전역 박스 모델 초기화
- 목적: 모든 요소에 box-sizing을 설정해 요소 크기 계산을 쉽게 함.
- 코드:
body {
line-height: 1.5;
box-sizing: border-box;
/* box-sizng 꼭 체크할 것 */
}
*,
*::before,
*::after {
box-sizing: inherit;
}
4. 폰트 사이즈와 라인 높이의 기본값
- 목적: 텍스트 요소의 일관된 스타일링을 위해 폰트 사이즈와 라인 높이를 설정
- 코드:
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
line-height: 1.2;
}
p {
font-size: 1rem;
line-height: 1.6;
}
5. 리스트 스타일 제거
- 목적: ol과 ul 요소의 기본 리스트 스타일 제거.
- 코드:
ol, ul {
list-style: none;
}
6. 인용문 스타일 제거
- 목적: blockquote와 q 요소의 인용 부호를 제거.
- 코드:
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
7. 표와 캡션 스타일
- 목적: 표의 폭을 100%로 설정하고, 테이블 내 여백을 제거하며 캡션의 기본 스타일 조정.
- 코드:
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
}
caption {
text-align: left;
font-weight: normal;
}
8. 링크 스타일 초기화
- 목적: 링크의 기본 텍스트 장식을 제거하고, 상속된 색상을 유지.
- 코드:
a {
text-decoration: none;
color: inherit;
}
9. 미디어 요소 초기화
- 목적: img, video, audio 등의 미디어 요소를 반응형으로 설정.
- 코드:
img {
vertical-align: bottom;
}
img, video, audio {
max-width: 100%;
height: auto;
}
10. 기타 유틸리티 스타일
- 목적: Clearfix, 숨김 요소, 스킵 내비게이션
- 코드:
.clearfix::after {
content: "";
clear: both;
display: table;
}
.sr_only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
#skip {
position: relative;
z-index: 99;
}
#skip > a {
position: absolute;
display: block;
width: 100%;
height: 35px;
background: #333;
color: #fff;
line-height: 35px;
text-align: center;
left: 0;
top: -35px;
}
#skip > a:focus,
#skip > a:active {
top: 0;
}
11. IOS 대응
- 목적: iOS에서 텍스트 크기를 자동으로 조정하지 않도록 방지하고, 기본 모양을 없애거나 조정.
- 코드:
html {
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
-ms-text-size-adjust: none;
-o-text-size-adjust: none;
/* text크기를 자동으로 조절하지 말아라 */
}
input, button {
appearance: auto;
border-radius: 0;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
select::-ms-expand {
display: none;
/* 화살표없애기 for ie10, 11 */
}
12. 폼 요소나 버튼 기본 스타일
- 목적: 폼 요소나 버튼 등의 기본 스타일을 좀 더 명확하게 초기화
- 코드:
input, textarea, select, button {
font-family: inherit;
font-size: inherit;
color: inherit;
}
button, input[type="button"], input[type="submit"] {
cursor: pointer;
}
13. 폼 유효성 검사 스타일
- 목적: 폼 요소의 유효성 검사를 위한 기본 스타일 적용.
- 코드:
input:valid, textarea:valid, select:valid {
border-color: green;
}
input:invalid, textarea:invalid, select:invalid {
border-color: red;
}
'WEB > CSS' 카테고리의 다른 글
CSS min(), max(), clamp() 함수로 반응형 웹 디자인 완성하기 (0) | 2024.08.27 |
---|---|
HTML 비디오 반응형 설정: CSS로 화면에 딱 맞게 배치하기 (4) | 2024.08.24 |
스크롤 시 텍스트에 그라디언트 배경색 채우기 효과 구현 (0) | 2024.08.08 |
CSS 그라디언트 transition 적용 방법 (0) | 2024.08.05 |
HTML과 CSS: 인라인 스타일, 내부 스타일, 외부 스타일로 배우는 적용 방법 (0) | 2024.07.25 |