CSS 선택자가 이렇게 많은 줄 몰랐다... 들으면서 왜 안끝나...? 더 있다고...? 이러면서 들었던 것 같다
src
속성 : 필수 속성으로, 오디오 url 삽입autoplay
: 웹 페이지 진입 시 자동 재생 (현재는 지원하지 않음)muted
: 노래를 꺼진 상태로 설정controls
: 웹 페이지에서 다룰 수 있는 컨트롤 패널이 보여짐src
속성 : 필수 속성으로, 오디오 url 삽입autoplay
: 웹 페이지 진입 시 자동 재생 (현재는 지원하지 않음)muted
와 함께 설정할 땐 가능!!muted
: 영상의 소리를 꺼진 상태로 설정controls
: 웹 페이지에서 다룰 수 있는 컨트롤 패널이 보여짐video js
라이브러리 많이 사용시맨틱이란 코드 조각의 '의미'를 의미한다.
시맨틱 웹이란 웹 페이지를 의미있게 마크업해서 만든 웹을 의미한다.
header
/ nav
/ section
/ article
/ footer
/ side
hn
/ p
/ strong
/ em
등section
vs article
이 태그들을 시각적으로 확인해보자면 아래와 같다.
글로벌 속성이란, 모든 태그에서 사용할 수 있는 속성을 의미한다.
id
: 요소의 고유 식별자 지정 (하나의 페이지에 고유해야 함)class
: 요소의 클래스 이름 지정 & CSS 스타일이나 JS에서 사용style
: 요소의 인라인 CSS 스타일 정의 (지양)title
: 요소에 대한 추가 정보를 제공하는 툴팁 정의tabindex
: 요소의 탭 순서 설정 (기본적으로 탭순서는 마크업 순서)lang
: 요소의 언어 지정 (ex. en
, ko
)data-*
: 사용자 정의 데이터 속성 (사용자가 원하는 값 추가 가능)contenteditable
: 요소의 콘텐츠가 편집 가능함을 나타냄 (실용성은 없으나 신기하더라).css
로 끝나는 파일을 생성하여 CSS 작성<link rel="stylesheet" href="main.css" />
태그 선택자 { 속성: 값; }
li { color: red; }
*
기호 사용#
기호 사용.
기호 사용[속성=값]
: 속성과 값이 일치하면 선택[속성~=값]
: 속성값에 값이 포함되어 있으면 선택 (단어 기준)[속성|=값]
: 속성값이 값과 같거나 값- 시작하면 선택[속성^=값]
: 속성값이 값으로 시작하면 선택[속성$=값]
: 속성값이 값으로 끝나면 선택[속성*=값]
: 속성값에 값이 포함되어 있으면 선택 (글자 기준),
기호 사용>
기호 사용+
기호 사용~
기호 사용before
: 콘텐츠의 맨 앞을 선택하는 선택자after
: 콘텐츠의 맨 뒤를 선택하는 선택자placeholder
: placeholder를 선택하는 선택자:link
가상 클래스 : 한 번도 방문하지 않은 상태:visited
가상 클래스 : 한 번이라도 방문한 상태:hover
가상 클래스 : 마우스를 올린 상태 (모바일에서 동작X):active
가상 클래스 : 마우스를 클릭하고 있는 상태:focus
가상 클래스 :입력 요소가 활성화 된 상태:checked
가상 클래스 : 체크박스가 표시되어 있는 상태:disabled
가상 클래스 : 비활성화 되어 있는 상태:enabled
가상 클래스 : 요소가 활성화 되어 있는 상태E:first-child
: E 요소의 첫 번째 자식 요소 선택E:last-child
: E 요소의 마지막 자식 요소 선택E:nth-child(n)
: E 요소가 부모 요소의 자식 요소 중 n번재 순서가 맞으면 선택E:nth-last-child(n)
: E 요소가 부모 요소의 자식 요소 중 마지막에서 n번째 순서가 맞으면 선택E:first-of-type
: 부모 요소의 자식 요소 중 첫 번째로 등장하는 E 요소 선택E:last-of-type
: 부모 요소의 자식 요소 중 마지막으로 등장하는 E 요소 선택E:nth-of-type(n)
: 부모 요소의 자식 요소 중 n 번째로 등장하는 E 요소 선택E:nth-last-of-type(n)
: 부모 요소의 자식 요소 중 마지막에서 n번재로 등장하는 E 요소 선택내가 헷갈려서 정리함!
div:nth-child(2) : 부모의 전체 자식 요소 중 2번째가 div라면 적용 (div가 아니면 무용지물)
div:nth-of-type(2) : 부모의 div 자식 중 2번째 div에 적용 (div가 2개 이상만 있으면 무조건 적용)
오예~
html로만 작성하는 실습이었기 때문에 이렇게 작성해보았다!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<main>
<button>Log in with Google</button>
<p>or</p>
<form>
<label for="name">
<input type="text" id="name" placeholder="Username" />
</label>
<label for="password">
<input type="password" id="password" placeholder="Password" />
</label>
<button>LOGIN</button>
</form>
<!-- 이건 button으로 할지 p로 할지 고민했다.. 일단 p로! -->
<p>Forgot your password?</p>
</main>
</body>
</html>
그래도 디자인없는 거 못참아... 쪼꼼만 건드렸다.