[Day 06] Reset Style + font + selector + Layout
Reset Style
- Reset.css (Eric Meyer’s Reset.css)
- 모든 요소가 가진 기본 여백을 0으로 만들어 놓고 시작한다.
- Normalize.css (normalize.css cdn)
- agent style의 오차를 비슷하게 만들어 놓는다.
- reset.css 에 비해 cross browsing 시 발생할 수 있는 문제점들을 미리 분석해 놓는다는 점이 장점이다.
CSS
- 단위
- em(equal m) : parent node의 font-size를 받아서 상대적으로 배율을 적용
- rem(root equal m) : em에서 발생하는 상속 시 중첩되는 font-size 문제를 해결하기 위해 node 간의 상속 시 font-size의 중첩이 발생하지 않도록 한다. root node의 size를 상속받는다. (상속을 끊지는 않는다.)
- font property
- font-style : italic
- font-weight : bold, normal, …
- font-variant : small-caps (폰트 높이를 맞춰준다)
- line-height : 1.15, 1.2, …
- font-size : 12px, …
- font-family : gothic, …
- shorthand expression
- font: italic bold small-caps 1.15 12px gothic
- web font
- serif : 바탕, 궁서 등 끝에 삐침이 있는 글씨체
- sans-serif : 돋움, 굴림, 고딕 등 삐침이 없는 글씨체
- mono-space : 고정폭 글꼴
font-family: "Noto Sans KR", sans-serif;
- “Noto Sans KR”을 쓰되, 없으면 sans-serif 글꼴 군에서 비슷한거 찾아서 써라
- table
border-collapse: collapse;
를 활용하면 margin collapsing이 발생하기 때문에 겹치는 margin을 잡아준다.
border-spacing: 0;
를 활용해 표의 border 간격을 지정한다.
- a (
anchor
or link
)
a:link
- link가 걸려있는 a tag
a:visitied
- link를 한번이라도 클릭했을 때
a:hover
- a tag 에 마우스를 올렸을 때
a:focus
- a tag에 focus가 생겼을 때
text-decoration: none|underline|overline|wave...
cursor: pointer|crosshair|...
(마우스를 올렸을 경우 생겨나는 것)
- ie 6,7,8 에서 html5 tag들을 호환시키기 위한 js
- CSS 적용 순서
- 부모로부터 상속 받은 CSS 보다 요소에 직접 걸려 있는 CSS가 우선한다.
- 같은 레벨의 CSS 선택자라면 나중에 선언된 CSS가 우선한다.
- 자식 선택자
- :nth-child(n)
- n 번째 요소부터 선택할 때에는 n + number
- n 번째 요소까지 선택할 때에는 -n + number
- span:nth-of-type(n)
Layout
- flex
- float
- inline-block
- inline 상자를 사용할 때에는 줄 바꿈이 공백 처리 되서 blank로 인식된다.
- blank를 없애기 위해 부모 노드의 font를 0으로 만들고 text 노드에 직접 font를 먹이면 된다.
- 숨김 콘텐츠(readable-hidden)
- html tag에 hidden 속성을 사용하면 없는 콘텐츠로 취급되기 때문에 접근성 떨어짐.
- CSS에서
display: none;
을 하면 마찬가지로 없는 콘텐츠로 취급된다.
visibility: hidden;
을 하면 콘텐츠 영역을 차지하고 transparent 로 된다.
position: absolute;
로 띄우고, left: -9999em
으로 브라우저 밖으로 보내버린다. -> 접근성 차원에서 문제가 있기 때문에 안좋다.
position: absolute; 상태에서
, width: 1px; height: 1px;
로 크기를 작게 잡은 뒤 margin: -1px;
하고, clip: rect(0,0,0,0);
로 상하좌우를 다 잘라버린다.
- skip-nav 링크(readable-hidden으로 만들고, focus 시 hidden 해제하는 식으로 만든다.)
- 반복적으로 제공되는 navigation 링크를 건너뛰어서 본문을 바로 볼 수 있도록 하는 링크
- anchor tag의 hyperlink를 main으로 연결되도록 만들어서 navigation을 건너 뛰고 바로 main 영역으로 이동할 수 있도록 한다. (장애인들의 keyboard navigation 접근성 매우 증대)
댓글남기기