728x90
반응형

Display

displayblock, inline, flex, grid 등 요소가 화면에 어떻게 표시되어야 하는지를 결정하는 속성이다.

display에 적용할 수 있는 대표적인 값은 아래와 같다.

  • block
  • inline
  • inline-block
  • none

block

div가 가지고 있는 기본 속성으로 가로 영역을 모두 차지하는 속성이며, 이를 설정한 요소를 Block Level Element(블록 레벨 엘리먼트)라고 부른다.

 

See the Pen Untitled by Lu Zu (@Lu-Zu) on CodePen.

 

inline

span이 가지고 있는 기본 속성으로 이를 설정한 요소의 컨텐츠만큼 영역을 차지하는 속성이다. 이러한 특성 때문에 width, height 등 크기를 임의로 설정할 수 없으며 줄바꿈이 불가능하다.

 

See the Pen Untitled by Lu Zu (@Lu-Zu) on CodePen.

 

inline-block

inline과 block을 합쳐놓은 속성으로 inline 속성과 같이 컨텐츠 만큼 영역을 차지해 배치되지만, block처럼 임의로 width, height 등 크기를 설정할 수 있다.

 

See the Pen Untitled by Lu Zu (@Lu-Zu) on CodePen.

 

none

이 속성을 설정한 요소를 보이지 않도록 한다. 단순히 보이지 않고 영역을 차지하는 visibility: hidden 와는 다르게 보이지 않으면서 영역 또한 차지하지 않는다.

 

See the Pen Untitled by Lu Zu (@Lu-Zu) on CodePen.

 

 

728x90
반응형

'CSS' 카테고리의 다른 글

[CSS] CSS 기초 - 선택자  (0) 2023.12.23
728x90
반응형

CSS 선택자란?

: HTML 태그, ID, Class, 속성 등의 특성을 이용해 CSS 규칙을 적용할 요소를 선택하는 것을 말한다.

 

[기본선택자]

  • 전체 선택자
    : 모든 요소를 대상으로 하는 선택자로 *(애스터리스크) 문자를 이용해 지정한다.
* {
 margin: 0; /* 모든 요소에 0 크기의 바깥 여백을 적용함. */
 padding: 0; /* 모든 요소에 0 크기의 안쪽 여백을 적용함. */
}
  • Type 선택자
    : 특정 요소를 대상으로 지정하는 선택자로 HTML 태그명을 이용해 대상을 선택한다.
/* p태그를 가진 모든 요소를 지정한다. */
p {
 color: red;
 text-decoration: underline;
}

/* h2태그를 가진 모든 요소를 지정한다. */
h2 {
 font-size: 32px;
 margin: 1rem;
}
  • Class 선택자
    : 특정 요소를 대상으로 지정하는 선택자로 HTML 요소에 명시한 Class를 이용해 대상을 선택한다. ('.' + '클래스명' 형식으로 지정한다.)
/* 'mainTitle'라는 class명을 가진 모든 요소를 지정한다. */
.mainTitle {
 font-size: 64px;
 font-weight: bold;
 margin: 18px;
}
  • ID 선택자
    : 특정 요소를 대상으로 지정하는 선택자로 HTML 요소에 명시한 ID를 이용해 대상을 선택한다. ('#' + 'ID명' 형식으로 지정한다.)
/* 'username'라는 ID명을 가진 모든 요소를 지정한다. */
#username {
 background: yellow;
 font-weight: bold;
}

/* 'password'라는 ID명을 가진 모든 요소를 지정한다. */
#password {
 text-decoration: wavy underline red;
}
  • 속성 선택자
    : 특정 요소를 대상으로 지정하는 선택자로 HTML 요소에 명시한 속성(attr)을 이용해 대상을 선택한다.
/* class 속성을 가진 모든 p태그 요소를 지정한다. */
p[class] {
  color: green;
  font-size: 12px;
}

/* class 속성에 "top" 값으로 시작하는 모든 p태그 요소를 지정한다. */
p[class^="top"] {
  color: red;
}

/* class 속성에 "name" 값으로 끝나는 모든 p태그 요소를 지정한다. */
p[class$="name"] {
  color: yellow;
}

/* href 속성에 "https://www.google.com" 값을 가진 모든 a태그 요소를 지정한다. */
a[href="https://www.google.com"] {
  font-weight: bold;
}

/* href 속성에 "www" 값을 포함하는 모든 a태그 요소를 지정한다. */
a[href*="www"] {
  background: royalblue;
}

/* class 속성에 "head" 값을 포함하는 모든 h1태그 요소를 지정한다. */
h1[class~=""] {
  color: blue;
}

[그룹선택자]

  • 선택자 목록
    : 그룹 선택자(선택자 목록)은 쉼표(,)를 이용해 선택자들을 구분하여 나열해 다수의 요소를 지정한다.
/* p태그, class 속성을 가진 h1태그, ID명이 "head"인 요소를 모두 지정한다. */
p, h1[class], #head {
 color: red;
}

[결합자]

  • 자손 결합자
    : 순서대로 오른쪽 요소가 왼쪽 요소의 자손으로, 공백을 기준으로 나열되어 가장 마지막에 명시된 자손 요소를 지정한다.
/* div안의 span이 가지고 있는 p요소를 지정한다. */
div span p {
 color: yellow;
}
  • 자식 결합자
    : '>'를 기준으로 왼쪽 요소의 바로 하위(자식)인 요소를 지정한다.
/* div태그 하위에 존재하는 모든 p태그 요소를 지정한다.*/
div > p {
 color: green;
}
  • 일반 형제 결합자
    : 같은 부모를 공유하면서 '~'를 기준으로 왼쪽 요소가 가장 첫 번째로 나타나는 위치 이후의 모든 오른쪽 요소를 지정한다. (가장 첫 번째 왼쪽 태그 이전에 나온 오른쪽 태그는 선택되지 않는다.)
/* h1태그 이후에 나오는 모든 li태그 요소들을 지정한다. */
h1 ~ li {
 text-decoration: underline;
}

 

  • 인접 형제 결합자
    : 같은 부모를 공유하면서 '+'를 기준으로 왼쪽 요소 바로 뒤(이후)에 위치하는 오른쪽 요소를 지정한다.
/* h1태그 바로 뒤에 위치한 p태그 요소를 선택한다. */
h1 + p {
 color: red;
}
728x90
반응형

'CSS' 카테고리의 다른 글

[CSS] CSS 기초 - Display 알아보기  (0) 2023.12.30

+ Recent posts