no image
[HTML/CSS] CSS 선택자
CSS는 HTML을 꾸미기 위해서 사용한다. HTML을 꾸미려면 특정 엘리먼트를 선택해야 하는데 이때 사용하는게 CSS 선택자이다. CSS 선택자는 크게 5종류로 나눌 수 있다. 기본 선택자 * element .(class) #(id) [attr](특성) Hello * { background: red; } /* 전체 선택 */ div { height: 300px; } /* div 요소 전체 선택 */ .header { width: 100px; } /* header라는 class를 가진 요소 선택 */ #footer { margin: 0 auto; } /* footer라는 id를 가진 요소 선택 */ input[type="radio"] { display: none; } /* input 요소 중 type 속..
2022.10.28
no image
[HTML/CSS] HTML 핵심 개념
HTML이란? Hyper Text Markup Language 웹 페이지를 위한 Markup 언어 HTML은 Tag를 이용해 작성 Tag는 요소(elements)와 속성(attributes)으로 구성 Tag는 일반적으로 여는 Tag와 닫는 Tag로 이루어짐 Tag는 중첩이 가능함 중첩이 가능하다 중첩된 Tag의 순서가 중요함 (대칭이 맞아야 함) Block 요소 vs Inline 요소 #Block 요소 기본적으로 블록 레벨 요소는 부모 요소의 전체 공간을 차지하여 블록을 만듦 상자를 쌓는 것처럼 볼 수 있다 블록 레벨 요소는 언제나 새로운 줄에서 시작하고, 좌우 양쪽으로 최대한 늘어나 가능한 모든 너비를 차지함 ## Block 요소 종류 div h1 ~ h6 ul ol li form p # Inline ..
2022.10.27
no image
[HTML] label 요소
label 요소 for 속성에 input의 id 값을 넣어주면 label을 클릭하게 되면 input으로 focus를 옮겨줌 See the Pen label by cloudcoke (@cloudcoke) on CodePen. label 이용 label을 이용해 체크가 된 항목을 강조할 수 있다 See the Pen display none by cloudcoke (@cloudcoke) on CodePen.
2022.10.26
no image
[CSS] CSS 적용하는 3가지 방법
1. inline 속성을 사용 See the Pen css_inline_style by cloudcoke (@cloudcoke) on CodePen. 2. head에 style 태그 사용 See the Pen Untitled by cloudcoke (@cloudcoke) on CodePen. 3. css 파일 생성 See the Pen Untitled by cloudcoke (@cloudcoke) on CodePen.
2022.10.21

[HTML/CSS] CSS 선택자

CloudCoke
|2022. 10. 28. 20:49

CSS는 HTML을 꾸미기 위해서 사용한다.
HTML을 꾸미려면 특정 엘리먼트를 선택해야 하는데 이때 사용하는게 CSS 선택자이다.
CSS 선택자는 크게 5종류로 나눌 수 있다.

기본 선택자

* element .(class) #(id) [attr](특성)

<div>Hello</div>
<div class="header"></div>
<div id="footer"></div>
<input type="radio" />
* { background: red; } /* 전체 선택 */
div { height: 300px; } /* div 요소 전체 선택 */
.header { width: 100px; } /* header라는 class를 가진 요소 선택 */
#footer { margin: 0 auto; } /* footer라는 id를 가진 요소 선택 */
input[type="radio"] { display: none; } 
/* input 요소 중 type 속성을 가지고 속성값이 radio인 것 선택 */

그룹 선택자

,

<ul>
    <li>Hello</li>
</ul>
ul, li { list-style: none; } /* ul 요소와 li 요소 선택 */

결합자

(자손결합자) >(자식 결합자) ~(일반 형제 결합자) +(인접 형제 결합자)

<ul>
    <li>Say</li>
    <li><span class="content">Hello</span><li>
    <li><a class="content" href="#">Link</a></li>
</ul>
<div class="bro">brother</div>
<div class="near">near</div>
/* 자손 결합자 */
ul .content { color: red; } /* ul 안에 있는 content라는 클래스를 가진 요소 선택 */
/* 자식 결합자 */
ul > li { color: green; } /* ul 안에 있는 li 요소 전체 선택 */
/* 일반 형제 결합자 */
ul ~ .near { color: blue; } /* ul과 형제 관계인 near라는 클래스를 가진 요소 선택 */
/* 인접 형제 결합자 */
ul + .bro { color: gray; } /* ul과 인접한 형제인 bro라는 클래스를 가진 요소 선택 */

가상 클래스 선택자

:hover :focus :checked first-child nth-child :last-child

<input type="text" id="text_box" />
<label for="text_box">text_box</label>
<input type="checkbox" id="check_box" />
<label for="check_box">
  <span></span>
  <span></span>
  <span></span>
</label>
<div>
  <ul>
    <li>menu1</li>
    <li>menu2</li>
    <li>menu3</li>
  </ul>
</div>
div > ul > li:hover {
  cursor: pointer;
}
/* menu에 마우스를 올리면 커서가 바뀜 */
#text_box:focus + label {
  color: red;
}
/* text를 입력할 수 있는 input box를 선택하면 text_box 텍스트가 빨간색으로 변함 */
#check_box:checked + label {
  color: blue;
}
/* 체크박스를 선택하면 1 2 3 텍스트가 파란색으로 변함 */
#check_box + label > span:first-child {
  color: green;
}
/* label의 자식 요소중 첫 번째인 요소인 1이 녹색으로 변함 */
#check_box + label > span:nth-child(2) {
  color: blue;
}
/* label의 자식 요소중 두 번째 요소인 2가 파란색으로 변함 */
#check_box + label > span:last-child {
  color: red;
}
/* label의 자식 요소중 마지막 요소인 3이 빨간색으로 변함 */

가상 요소 선택자

css에서 유일하게 html을 만들 수 있음

가상으로 span이 만들어 졌다고 볼 수 있음
::before : 선택 영역 앞
::after : 선택 영역 뒤

<div id="before">Before</div>
<div id="after">After</div>
#before::before {
content: "-"
}
/* Before 글자 앞에 -가 생김 */
#after::after {
content: "*"
}
/* After 글자 뒤에 *이 생김 */

'HTML/CSS' 카테고리의 다른 글

[HTML/CSS] HTML 핵심 개념  (0) 2022.10.27
[HTML] label 요소  (0) 2022.10.26
[CSS] CSS 적용하는 3가지 방법  (0) 2022.10.21

[HTML/CSS] HTML 핵심 개념

CloudCoke
|2022. 10. 27. 22:31

HTML이란?

  • Hyper Text Markup Language
  • 웹 페이지를 위한 Markup 언어
  • HTML은 Tag를 이용해 작성
  • Tag는 요소(elements)와 속성(attributes)으로 구성
  • Tag는 일반적으로 여는 Tag와 닫는 Tag로 이루어짐
  • Tag는 중첩이 가능함
<div><p>중첩이 가능하다</p></div>
중첩된 Tag의 순서가 중요함 (대칭이 맞아야 함)

Block 요소 vs Inline 요소

#Block 요소

  • 기본적으로 블록 레벨 요소는 부모 요소의 전체 공간을 차지하여 블록을 만듦
  • 상자를 쌓는 것처럼 볼 수 있다
  • 블록 레벨 요소는 언제나 새로운 줄에서 시작하고, 좌우 양쪽으로 최대한 늘어나 가능한 모든 너비를 차지함

## Block 요소 종류

div h1 ~ h6 ul ol li form p

# Inline 요소

  • 인라인 요소는 요소를 구성하는 태그에 할당된 공간만 차지함

## Inline 요소 종류

span a button i input img label select

시맨틱 마크업

  • 아무런 효과를 주지 않음
  • Block 요소임
  • 데이터를 직관적으로 표현하기 위해 사용
  • 검색 엔진 최적화를 위해 사용
  • 유지 보수가 쉬워짐

시맨틱 요소 종류

header : 제목, 로고, 검색 폼, 작성자 이름 등

nav : 메뉴, 목차 등

h1 ~ h6 : 구획 제목을 나타냄

section : 독립적인 구획을 나타냄

article : 게시판, 블로그 글, 뉴스 기사 등

aside : 사이드바, 콜아웃 박스

footer : 작성자, 저작권 정보, 관련 문서 등

Block 요소와 Inline 요소를 같이 쓰면 어떻게 될까?

<div>1</div>
<span>2</span>
<span>3</span>
<div>4</div>

Block 요소와&nbsp; Inline 요소를 같이 사용

block 요소는 한 전체를 차지하고 inline 요소들 끼리 붙어 있음
inline 요소 뒤에 자리는 있으나 block 요소는 전체를 차지해야 하기 때문에 다음 줄로 표현됨

'HTML/CSS' 카테고리의 다른 글

[HTML/CSS] CSS 선택자  (0) 2022.10.28
[HTML] label 요소  (0) 2022.10.26
[CSS] CSS 적용하는 3가지 방법  (0) 2022.10.21

[HTML] label 요소

CloudCoke
|2022. 10. 26. 08:36

label 요소

  • for 속성에 input의 id 값을 넣어주면 label을 클릭하게 되면 input으로 focus를 옮겨줌

See the Pen label by cloudcoke (@cloudcoke) on CodePen.

label 이용

  • label을 이용해 체크가 된 항목을 강조할 수 있다

See the Pen display none by cloudcoke (@cloudcoke) on CodePen.

 

'HTML/CSS' 카테고리의 다른 글

[HTML/CSS] CSS 선택자  (0) 2022.10.28
[HTML/CSS] HTML 핵심 개념  (0) 2022.10.27
[CSS] CSS 적용하는 3가지 방법  (0) 2022.10.21

1. inline 속성을 사용

See the Pen css_inline_style by cloudcoke (@cloudcoke) on CodePen.

2. head에 style 태그 사용

See the Pen Untitled by cloudcoke (@cloudcoke) on CodePen.

3. css 파일 생성

See the Pen Untitled by cloudcoke (@cloudcoke) on CodePen.

'HTML/CSS' 카테고리의 다른 글

[HTML/CSS] CSS 선택자  (0) 2022.10.28
[HTML/CSS] HTML 핵심 개념  (0) 2022.10.27
[HTML] label 요소  (0) 2022.10.26