과제 풀이하면서 새롭게 알게된 내용
1. br
줄바꿈의 용도로 br
를 사용하면 스크린리더가 연속적인 문장으로 인식하지 못한다
❌ <p>
맛있는 <br>
바질 토마토 파스타
</p>
br
은 본래 목적에 맞게 써야하지만 실무에서는 시간이나 상황 때문에 쓰는 경우도 있다고 한다
그래서 클론코딩할려고 사이트들 살펴보면 줄바꿈의 용도로 쓰이는 상황을 목격하게 되는 것 같다
2. button과 a
a
를 button
으로 감싸서 써도 되고
a
만 css로 꾸며서 사용해도 된다
⭕ <button><a href=""></a></button>
⭕ <a href=""></a>
3. strong vs b
strong을 쓴다
4. section과 heading tag
section
안에는 항상 heading tag가 들어가야 한다
각 section
의 주제가 무엇인지 heading tag을 통해 명시해줘야 스크린리더를 사용하는 유저가 사이트를 잘 이해할 수 있다
css로 안보이게 하면 되지만 생략하거나 없애면 안된다
5. 전화번호
전화번호를 p
태그로 입력하면 모바일에서 클릭했을 때 전화가 걸리지 않는다
<a href="tel:02-1111-2222">02-1111-2222</a>
처음부터 하나씩 뜯어보며 마크업을 알려주니까 내가 잘못한 부분이나 새로 알게 된 부분을 명확하게 파악할 수 있어서 좋았다
나름 div
안쓴다고 했는데 강사님 풀이 버젼이랑 비교해서 보니까... div
농사 잘됐다...
article, figure, address
와 친해지자
네비게이션 메뉴는 ul,li,a
중첩해서 사용하는 거 잊지 말자
<ul>
<li><a href="#">Forum</a>
<ul>
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
</ul>
</li>
</ul>
강사님께서 실무에서 사용하는 로그인, 약관동의, 회원가입 서비스 sample을 준비해오셔서 마크업을 같이 살펴봤다
그 중 새로 알게된 내용, 헷갈리는 부분, 중요한 부분만 기재함
1. 약관 동의 유도
<div>
<label>
<input type="radio" name="terms1">
<span>약관에 동의합니다</span>
</label>
<label>
<input type="radio" name="terms1" checked>
<span>약관에 동의하지 않습니다.</span>
</label>
</div>
2. label과 input
id
로 label
과 input
을 연결해주면 label
만 클릭해도 input
에 포커스가 간다
모든 내용 X
새로 알게된 내용, 헷갈리는 부분, 중요한 부분만 기재함
1. 테이블 태그
th
을 사용해야 시멘틱하다th
는 자동으로 중앙정렬thead, tbody, tfoot
을 꼭 써줘야 자바스크립트에서 컨트롤할 수 있다2. 인라인과 블록 요소
article, header, nav, section, div
등span, a, img, input, label
등p
, hr
둘다 블록 요소이지만 p
태그 안에 hr
을 쓰지는 않는다1. 이거 하나는 외우고 가요
font-family
,font-size
에 해당하는 부분16px
, blue
에 해당하는 부분2. CSS 적용하는 3가지 방법
3. RESET CSS
4. 선택자 id
와 class
의 차이
section
처럼 구역을 구분할 때는 id
사용, css로 꾸밀 필요가 있을 때는 class
사용 class
는 중첩해서 사용할 수 있다. (id
는 불가)class
는 여러개가 존재할 수 있다. (id
는 불가, 유일해야 함)5. 속성 선택자
[title="first des"]
<h2 title="first text"></h2>
<p title="first-des"></p>
<p title="first des"></p> ✔
[title~="first"]
<h2 title="first text"></h2> ✔
<p title="first-des"></p>
<p title="first des"></p> ✔
[title*="first"]
<h2 title="first text"></h2> ✔
<p title="first-des"></p> ✔
<p title="first des"></p> ✔
a[href$=".pdf"]{
color: black;
}
5. 가상 클래스 선택자와 가상 요소 선택자는 다르다
:hover
,:focus
, :nth-child(1)
등::before
, ::after
6. 가상 요소 선택자
드래그 안됨
7. 우선순위
id(100점) > class(10점) > tag(1점)
ul#content li.active → 1점+100점+1점+10점 = 112점
8. 고정 크기 단위
9. 가변 크기 단위
html, body {
font-size: 10px;
}
div {
font-size: 2em;
}
.one {
font-size: 2rem;
}
<div>
<!-- 10px * 2 = 20px -->
<div>
<!-- 20px * 2 = 40px -->
<div>
<!-- 40px * 2 = 80px -->
hello world
</div>
</div>
</div>
<div>
<div>
<div class="one">
<!-- html 폰트 사이즈 10px * 2 = 20px -->
hello world
</div>
</div>
</div>
.one {
/* % : 부모가 가진 크기의 절반 (여기선 body, 화면의 절반 아님) */
width: 50%;
height: 200px;
background-color: darkblue;
}
.two {
height: 100px;
width: 50%;
background-color: red;
}
.three {
/* vw : 보여지는 화면 기준 */
height: 100px;
width: 50vw;
background-color: red;
}
<div class="one">
<div class="two">%</div>
</div>
<br>
<div class="one">
<div class="three">vw</div>
</div>
1. vscode 단축키
alt+w
(htmltagwrap 설치해야 함)shift + del
2. 기타
range
, progress
의 숨겨진 구성을 보는 방법 : <개발자 도구 - 환경설정 - 요소 - 사용자 에이전트 그림자 DOM 표시>Window : ctrl + alt + \
3. 참고 링크
css 참고 도서 : http://www.yes24.com/Product/Goods/98858290
mdn enabled : https://developer.mozilla.org/ko/docs/Web/CSS/:enabled
p
태그로 전화번호를 기재하면 모바일상에서 전화연결이 안된다고 한다. 이런 접근성은 아예 생각지도 못했던 부분이라 알게 되서 기쁘다!과제가 없다!
대신 오늘 수업 복습 복습~