우리는 앞서 CSS의 사용방법을 크게 3가지로 알아보았다.

 

이번에 알아볼 것은 '선택자'로 CSS를 적용할 대상을 선택하는 것이다.

 

먼저 사이트 하나를 소개하도록 하겠다.

 

https://www.w3schools.com/cssref/css_selectors.asp

 

CSS Selectors Reference

CSS Selector Reference CSS Selectors In CSS, selectors are patterns used to select the element(s) you want to style. Use our CSS Selector Tester to demonstrate the different selectors. Selector Example Example description .class .intro Selects all elements

www.w3schools.com

이 사이트는 CSS 선택자의 종류를 알려준다.

 

모르면 여기서 찾아보면 된다!

 

우리는 이 중에서 자주 쓰이고 중요한 선택자들을 알아보도록 하겠다.

 

선택자

선택자는 보통  선언 블록 앞에 쓴다.

 

선언 블록은 CSS속성과 그 값을 넣을 수 있는 공간이고 { }로 쓴다.

 

인라인 사용방법에는 쓰이지 않고 임베디드나 외부 파일 사용방법에 쓰인다.

 

왜냐면 인라인은 벌써 그 태그를 선택하고 있기 때문이다.

 

2020/05/05 - [IT아카데미/CSS] - 홈페이지 만들기 - CSS [0]

 

홈페이지 만들기 - CSS[0]

이제까지 HTML로 문서의 구성과 내용의 기반을 다졌다 하지만 90년대 문서도 이거보다는 잘 나왔겠다 싶다 앞으로 할 CSS는 이런 90년대 문서를 2010년대 문서로 만들어 줄 수 있는 장치이다. 2020년��

jejehoon.tistory.com

여기에 사용 방법 3가지를 설명해 놓았다.

 

이 중 자주 쓰이는 선택자를 알아보자

 

모든 선택자( * )

* { CSS속성; } 이렇게 쓴다. ( *는 보통 shift 8을 누르면 나타난다.)

 

HTML 문서의 모든 태그를 선택할 수 있는 선택자이다. 

 

태그 선택자( 태그 명 )

태그 명 { CSS속성; } 이렇게 쓴다.

 

적용하고 싶은 태그를 선택할 수 있는 선택자이다.

 

그룹 선택자( 태그 여러 개 )

태그 1, 태그 2 { CSS속성; } 이렇게 쓴다.

 

여러 개의 태그를 선택하여 동시에 CSS속성을 적용할 수 있다.

 

후손 선택자( 태그 안에 태그들 )

태그 태그 안의 태그 { CSS속성; } 이렇게 쓴다.

/*html태그가 
<div>
 <h1>제목</h1>
 <p>문단</p>
</div>
이렇게 되어 있을 경우*/
/*h1이나 p태그를 선택하기위해서*/
div h1 {CSS속성} 이렇게 사용한다.

 

자식 선택자( 태그 안의 바로 밑 태그 )

부모 태그 > 자식 태그  { CSS속성; } 이렇게 쓴다.

 

위의 후손 선택자의 예시 중 div태그와 h1태그는 서로 부모 자식 관계이다.

 

p태그는 말하자면 손자이기 때문에 div > p 이런 식으로 쓸 수 없다.

 

형제(동위) 선택자( 같은 등급의 태그들 )

태그 + 태그 { CSS속성; } 또는 태그 ~ 태그{ CSS속성; } 이렇게 쓴다.

 

+는 같은 계층 중 어떤 것이던 가능하고 ~는 같은 계층 중 바로 밑의 태그이다.

 

※HTML 구조상의 계층과 문서상의 계층은 다르다.

구조적으로 <h1> <h2>는 h1이 상위이지만

<div> 안에 같은 계층으로 <h1><h2>가 있는 경우에는 같은 계층이다. 

 

기본 속성 선택자( 태그 안의 속성 )

태그[속성] 또는 태그[속성="속성 값"] { CSS속성;} 이렇게 쓴다.

 

태그의 속성을 선택하여 CSS를 적용할 수 있다.

 

속성 선택자는 7개가 있고 임의로 기본과 문자열로 나누었다. 

 

※태그[]를 띄어서 태그 []로 쓰게 된다면 후손 선택자로 인식되어 주의해야 한다.

또한 속성 값을 쓰게 된다면 속성 값이 정확히 일치해야 한다.

 

문자열 속성 선택자 또는 value 선택자( 태그 안의 속성의 값 )

value는 태그의 속성 값으로 꼭 value를 넣어야 하는 것이 아니다.

 

  • 태그[속성~="value"]  속성 값이 value를 포함한 태그를 선택(단어 기준 value abc는 선택되지만 valueword는 선택되지 않는다.)

 

  • 태그[속성|="value"]   속성 값이 value나 value-로 시작하는 태그를 선택(단어 기준 속성 값이 valueword이거나 value이면 적용. 하지만 value abc는 적용되지 않는다.)

 

  • 태그[속성^="value"]  속성 값이 value로 시작하는 태그를 선택 (문자열 기준 모두 적용)

 

  • 태그[속성$="value"]  속성 값이 value로 끝나는 태그를 선택(문자열 기준 모두 적용)

 

  • 태그[속성*="value"]  속성 값이 value가 포함된 태그를 선택(문자열 기준 모두 적용)

이렇게 5가지로 쓸 수 있다

 

id 선택자와 클래스 선택자( 태그 안의 id속성의 값, 클래스 속성의 값 )

#id명 { CSS속성; }과 .class명 {CSS속성;} 이렇게 쓴다.

 

id가 class보다 더 디테일하기 때문에 class보다 먼저 쓰인다.

(id는 HTML 문서 안에 하나만 존재하기 때문이다.) 

 

class는 중복으로 적용이 가능해서 동일한 여러 개의 클래스 명을 가질 수 있다.

 

※id속성의 값은 영문으로 시작해야 하고 띄어쓰기가 불가능하다.

대신 _(언더바)나 -(하이픈)을 사용한다.

또한 한글, 특수기호도 사용이 불가능하다.

만약 된다고 해도 validator검사를 하면 버그가 난다.

 

이외의 선택자들은 다음 페이지에서 만날 수 있다.

 

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[0]  (0) 2020.05.05

이제까지 HTML로 문서의 구성과 내용의 기반을 다졌다

 

하지만 90년대 문서도 이거보다는 잘 나왔겠다 싶다 

 

앞으로 할 CSS는 이런 90년대 문서를 2010년대 문서로 만들어 줄 수 있는 장치이다.

 

2020년대는 CSS만으로는 쪼금 부족할 것 같아 보인다.

 

자 시작해보자~!

 

 

 

CSS 

 

CSS란 'Casacading style sheet'의 준말로 폭포처럼 떨어지는 스타일 시트.

 

다시 말해, 우선순위에 따른 스타일 문서이다. 

 

이 말은 차차 이해하게 될 것이다.

 

우리가 진짜 알고 싶은 것은 다름 아닌 '어떻게 이렇고 저런 디자인들을 HTML 문서에 적용하느냐?'이다.

 

사이트를 하나 소개하겠다.

 

http://csszengarden.com/

 

CSS Zen Garden: The Beauty of CSS Design

So What is This About? There is a continuing need to show the power of CSS. The Zen Garden aims to excite, inspire, and encourage participation. To begin, view some of the existing designs in the list. Clicking on any one will load the style sheet into thi

csszengarden.com

이 사이트는 HTML 태그는 전부 동일하다.

 

하지만 CSS만으로 완전 다른 분위기를 내는 사이트들을 모아놓은 사이트이다.

 

들어가면 첫 화면 나는 오른쪽의  맨 첫번째 MID CENTURY MODERN을 클릭했다.
MID CENTURY MODERN의 CSS 자세히 보면 제목과 본문이 모두 같은 것을 알 수 있다. f12를 눌러 확인해보아도 된다.

이 외에도 분위기가 다른 CSS를 적용한 페이지들이 많이 있다.

 

이게 바로 CSS이다. 

 

 

 

CSS 사용방법

  • 인라인(기입)

HTML 태그 내에서 style속성을 사용하는 방법이다. 사용 예는 다음과 같다.

<h1 style="color: red;">안녕하시게!</h1>

 

  • 임베디드(삽입)

HTML의 head태그 내에 style태그의 공간을 따로 만들어서 HTML 태그들을 묶어 사용하는 방법이다.

<!--HTML구조연습을 위해 카피하던 것을 가져왔다.-->
<!DOCTYPE html>
<html lang="ko" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>네이버클로바copy</title>
  <style media="screen">
    h1 { color: red;} /*여기서부터는 CSS영역으로 /**/이 주석이다.*/
  </style>
</head>

<body>
  <header>
    <h1>naver CLOVA</h1>
  </header>
  • 외부 파일(적용)

.CSS라는 파일, 확장자가 CSS인 파일을 만들어서 HTML 문서와 연결시키는 방법이다.

<!DOCTYPE html>
<html lang="ko" dir="ltr">

<head>
  <meta charset="utf-8">
  <title>네이버클로바copy</title>
  <link rel="stylesheet" href="navercloba.css"> <!--stylesheet라는 것을 rel속성을 통해 알려줘야한다.-->
</head>

<body>
  <header>
    <h1>naver CLOVA</h1>
  </header>

HTML 문서

/*navercloba.css*/

@charset "UTF-8";
h1{ color: green;}

외부 파일인 navercloba.css문서 확장자가 css이다.

 

이렇게 여러 가지 방법을 사용할 수 있지만 개인적으로 편한 방법은 외부 파일(적용)이다.

 

어떤 코드던지 적게 쓸수록 경제적이고 효율적이다!!

 

생활코딩-이 고잉님은 이렇게 말씀하셨다. "1억 번 한다고 생각해보세요"

 

그렇다 인라인으로 1억 번 코드를 작성한다면 우리는 황천길에 모바일로 코딩을 해야 할지도 모른다.

 

하지만 그것을 줄여줄 수 있는 게 바로 임베디드(삽입)이고

 

파일 단위로 묶어서 그것을 줄여주는 것이 외부 파일(적용)이다.

 

역으로 디테일하게 작업해야 하는(하나하나 바꾸어 줘야 하는) 태그들은 인라인이나 임베디드가 적당하다. 

 

그럼 CSS를 적용하려면 목적어가 필요한데 그 목적어는 어떻게 선택할까?

 

다음은 선택자이다!

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요)

 

그럼~ 앙 제바

 

 

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[1]  (0) 2020.05.06

+ Recent posts