개행의 목적이 먼저 정의되어야 한다. 디자인이 목적이면 span
을 사용한다. 의미론적으로 쓰여야 하는 br
이 디자인 목적으로 쓰이면 안된다.
코딩 테스트 - 알고리즘, 자료구조, 메모리 효율
프로젝트를 통해 보는 것
모든 내용 X
새로 알게된 내용, 헷갈리는 부분, 중요한 부분만 기재함
th, button
은 자동 중앙 정렬이다.모든 내용 X
새로 알게된 내용, 헷갈리는 부분, 중요한 부분만 기재함
부모의 높이는 웬만해서는 지정하지 말 것. 컨텐츠의 높이는 자식의 높이에 종속. 부모의 높이는 자식들의 높이의 합이다.
a>img
구조에서 img
의 위치를 position
으로 잡으면 normal-flow에서 벗어나서 앵커 태그는 자식 잃은 부모가 된다. img
의 위치는 잡히지만 a
는 위치가 없어서 탭 포커싱이 되지 않는다. 위치를 옮길거면 a
에다가 position
을 줄 것
inline
요소에 position: absolute
나 float
을 줘도 block
취급된다.
한 줄짜리 짧은 문장에도 p
태그 써도 된다. 마침표로 끝나는 문장에는 p
태그 써도 된다.
의미가 없거나 디자인을 위한 거면 div, span
을 사용한다.
none
이라는 id
를 가진 요소가 생길 가능성을 고려해서 <a href="#none">
사용보다는 <a href="javascript:void(0)">
쓰기.
href
에는 자바스크립트 언어를 쓸 수 있다. void:(0)
은 undefined
을 반환하여 리로딩없이 현재 페이지가 유지된다.
스크린 리더기 이용자 입장에서 "로그인/회원가입" 이라는 문구가 나오고 바로 닫기 버튼이 나오면 어떤 내용인지 짐작할 수 없다.
제일 마지막에 넣으면 너무 많은 컨텐츠를 듣고 나서야 닫기 버튼이 나와서 불편하다. 그래서 중간쯤에 넣는 것이 좋다.
전체가box-sizing: border-box
인 상태에서는 button
에 padding
을 먹여도 button
의 영역을 넓혀주지 못한다. box-sizing: content-box;
을 따로 주면 padding
의 넓이까지 button
의 영역이 되서 클릭하기 용이해진다.
형제 선택자 예시 - 첫번째 li
제외하고 margin-top
주는 방법
li+li
: li
요소 바로 다음에 오는 li
을 선택한다.
첫번째 li
앞에는 li
가 없으니까 선택 대상에서 제외된다.
.cont-sns-login .list-sns li+li {
margin-top: 10px;
}
접근성, 인식의 용이성 - 탭 포커싱
label
의 가상요소로 커스텀 이미지를 주고 input
태그를 display:none;
했기 때문에 tab
으로 이동 시에 포커스가 가지 않는다. 그래서 스크린 리더기로 읽히지 않는 문제가 발생한다.
input
에 포커스가 가면 label
의 가상요소인 커스텀 이미지에 outline
을 준다. <input type="checkbox" id="inpHold" class="inp-hold txt-hide">
<label for="inpHold" class="label-hold">로그인 상태 유지</label>
/* 접근성 */
.form-login .inp-hold:focus+.label-hold::before {
outline: 2px solid black;
/* outline-offset: outline에서 border까지 5px의 공간이 생김 */
outline-offset: 5px;
}
모바일 기기마다 select
스타일이 너무 다르기 때문에 모바일용은 스타일링 하지 않는 편이다.
ir-wa
: 중요 이미지 로딩에 실패해도 텍스트를 이용해 어떤 정보인지 제공해준다.
.ir_wa{
display:block;
overflow:hidden;
position:relative;
z-index:-1;
width:100%;
height:100%
}
접근성에서 탭 포커싱도 고려해야 한다.
다음주 수요일 특강에 조은님이 오신다! 어떤 이야기를 해주실지 궁금하다. 조은님 글만 읽다가 직접 수업을 들을 날이 오다니 너무 기대된다.
AWS 가입
지아님,, 저 읽는지 안읽는지 확인하려구 일부러 오타내시는거죠,, 다들켰어요👀
inline 요소에 position: absoluate나 flot을 줘도 block 취급된다. float에 a 사라졌어요~