CSS 선택기 및 코드 예제에 대한 자세한 가이드

CSS 선택자란 무엇입니까?

CSS 선택자는 스타일을 지정할 HTML 요소를 선택하는 데 사용됩니다. CSS 선택자는 ID, 클래스 또는 속성을 기반으로 HTML 요소를 선택합니다.

기본 선택기

범용 선택기:

*기호는 페이지의 모든 요소를 ​​선택하는 데 사용됩니다. 대부분의 개발자는 브라우저에서 기본적으로 제공하는 여백과 패딩을 제거하기 위해 여백과 패딩을 0으로 재설정하려고 합니다. 이는 웹사이트를 방문할 때 브라우저 전반에서 일관성을 유지하는 데 도움이 됩니다.

문법:

*{
    
    
      // 设置元素样式
 }

HTML 예:

<body>
<h1>通用选择器示例</h1>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</p>
</body>

CSS 예:

*{
    
    
  background: black;
  color: white;
  font-family: 'Poppins';
}

h1{
    
    
  text-align: center;
}

클래스 선택기:

클래스 선택자는 특정 클래스 속성에 속하는 모든 요소를 ​​선택하는 데 사용됩니다. 특정 클래스가 있는 요소를 선택하려면 클래스 이름을 나타내는 마침표(.) 문자를 사용하세요. 즉, 클래스 속성의 내용을 기반으로 HTML 요소와 일치합니다.

문법:

.class {
    
    
    // CSS属性
}

HTML 예:

<body>
<div class="intro">
  <p>My name is Donald.</p>
  <p>I live in Duckburg.</p>
</div>

<p>My best friend is Mickey.</p>

<p class="intro">My best friend is Mickey.</p>
</body>

CSS 예:

.intro{
    
    
  background: skyblue;
}

ID 선택기:

id 선택기는 HTML 요소의 id 속성을 사용하여 특정 요소를 선택합니다. 페이지에 있는 요소의 ID는 고유하므로 ID 선택기를 사용하여 고유한 요소를 선택합니다! 특정 ID를 가진 요소를 선택하려면 파운드(#) 문자 뒤에 요소 ID를 입력하세요.

문법:

#idname {
    
    
  // 样式属性
}

HTML 예:

<body>
  <p id="paragraph">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</p>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</p>
</body>

CSS 예:

#paragraph{
    
    
  background: skyblue;
}

유형 선택기:

유형 선택기는 문서에서 HTML 태그/요소를 선택하기 때문에 태그 이름 선택기 또는 요소 선택기라고도 합니다.

문법:

element{
    
    
// 设置元素样式
}

HTML 예:

<body>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</span>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</p>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a urna elit. Integer malesuada tempus enim nec rhoncus.</span>
</body>

CSS 예:

span{
    
    
  background: skyblue;
}

그룹 선택기

CSS 그룹화 선택기는 여러 요소를 선택하고 함께 스타일을 지정하는 데 사용됩니다. 이렇게 하면 모든 요소에 대한 공통 스타일을 선언하는 데 필요한 코드와 추가 작업이 줄어듭니다. 선택기를 그룹화하려면 각 선택기를 쉼표로 구분하세요.

문법:

element, element{
    
    
// 设置元素样式
}

HTML 예:

<body>
<h1>分组选择器示例</h1>
<p>示例CSS选择器。</p> 
<h4>示例CSS选择器分组。</h4> 
</body>

CSS 예:

h1{
    
    
  text-align: center;
}

p,h4{
    
    
  background: skyblue;
}

결합기

조합자는 선택자 간의 관계를 설명하는 데 사용됩니다. CSS에는 네 가지 조합자가 있습니다.

  • 하위 선택기(공백)
  • 하위 선택기(>)
  • 인접한 형제 선택자(+)
  • 범용 형제 선택자(~)

하위 결합자(공백)

일반적으로 공백(" ") 문자로 표시되는 하위 연결자는 두 선택자를 결합하여 두 번째 선택기와 일치하는 요소에 첫 번째 선택기의 상위 요소와 일치하는 조상 요소(부모 요소, 부모 요소)가 있는 경우 상위 요소의 상위 요소의 상위 요소 등)을 선택합니다.

문법:

selector1 selector2 {
    
    
  /* 属性声明 */
}

HTML 예:

<body>
<div>
  <p>div中的段落1。</p>
  <p>div中的段落2。</p>
  <section><p>div中的段落3。</p></section>
</div>

<p>段落4。不在div中。</p>
<p>段落5。不在div中。</p>
</body>

CSS 예:

div p{
    
    
background: skyblue;
}

하위 조합자(>)

하위 결합자는 요소 사이의 구분 기호로 보다 큼 기호(>)를 사용합니다. 상위 요소의 직계 자손을 선택합니다. 이 연결자는 문서 트리의 직접 하위 요소만 일치합니다. 두 번째 선택자는 첫 번째 선택자가 상위 요소인 경우에만 선택되므로 하위 선택자보다 더 엄격합니다.

문법:

selector1 > selector2 
{
    
    
   // 样式属性
}

HTML 예:

<body>
<h1>子组合器示例</h1>

<p>子选择器(>)选择指定元素的所有子元素。</p>

<div>
  <p>div中的段落1。</p>
  <p>div中的段落2。</p>
  <section>
    <!-- 不是子元素,但是后代元素 -->
    <p>div中的段落3(在section元素内)。</p>
  </section>
  <p>div中的段落4。</p>
</div>

<p>段落5。不在div中。</p>
<p>段落6。不在div中。</p>
</body>

CSS 예:

div>p{
    
    
  background: skyblue;
}

인접 형제 결합기 (+)

인접한 형제 연결자는 요소 사이의 구분 기호로 더하기 기호(+)를 사용합니다. 두 번째 요소는 첫 번째 요소 바로 뒤에 있고 둘 다 동일한 상위 요소의 하위인 경우에만 일치됩니다. 이 형제 선택자는 인접한 요소, 즉 지정된 태그 옆에 있는 요소를 선택합니다.

문법:

former_element + target_element 
{
    
    
   // 样式属性
}

HTML 예:

<body>

<h1>相邻兄弟选择器示例</h1>

<p>+选择器用于选择紧跟在另一个特定元素之后的元素。</p>

<div>
  <p>div中的段落1。</p>
  <p>div中的段落2。</p>
</div>

<p>段落3。在div之后。</p>
<p>段落4。在div之后。</p>

<div>
  <p>div中的段落5。</p>
  <p>div中的段落6。</p>
</div>

<p>段落7。在div之后。</p>
<p>段落8。在div之后。</p>

</body>

CSS 예:

div + p {
    
    
  background: skyblue;
}

범용 형제 결합자(~)

범용 형제 결합자는 요소 사이의 구분 기호로 물결표(~)를 사용합니다. 첫 번째 선택기 요소 뒤에 오는 요소와 동일한 상위 요소의 모든 하위 요소를 선택합니다. 공통 상위 요소가 있는 요소 그룹을 선택하는 데 사용할 수 있습니다.

문법:

former_element ~ target_element 
{
    
    
     // 样式属性
}

HTML 예:

<body>

<h1>通用兄弟组合器示例</h1>

<p>通用兄弟选择器(~)选择指定元素的所有下一个兄弟元素。</p>

<p>段落1。</p>

<div>
  <p>段落2。</p>
</div>

<p>段落3。</p>
<code>一些代码。</code>
<p>段落4。</p>

</body>

CSS 예:

div ~ p {
    
    
  background-color: skyblue;
}

의사 선택자

의사 클래스:

사용자 상호 작용으로 인해 요소의 상태가 변경되면 콜론(:)을 사용합니다.

문법:

selector:pseudo-class 
{
    
    
    // property: value;
}

일반적으로 사용되는 의사 클래스는 다음과 같습니다.

  • :집중하다
  • :필수의
  • :체크됨
  • :장애가 있는
  • :호버
  • :방문하다
  • :활동적인

이러한 의사 클래스는 문서 트리의 요소 위치와 관련됩니다.

  • :뿌리
  • :첫 번째 자녀
  • :막내
  • :독생
  • :n번째-자식(n)
  • :n번째-마지막-자식(n)
  • :not(선택자)

유사 요소:

이중 콜론(::)은 선택한 요소의 특정 부분에 스타일을 지정하는 데 사용됩니다.

문법:

selector::pseudo-element 
{
    
    
  // property: value;
}

일반적으로 사용되는 의사 요소는 다음과 같습니다.

  • ::후에
  • ::전에
  • ::첫 번째 줄
  • ::첫 글자 (:첫 글자)
  • ::첫 번째 줄 (:첫 번째 줄)
  • ::파일 선택기 버튼

속성 선택기

CSS 속성 선택기는 주어진 속성의 존재 여부 또는 값을 기반으로 요소를 일치시킵니다.

[attr]은 attr 속성 이름을 가진 요소를 나타냅니다.

[attr=value]는 attr 속성 이름과 값이 정확히 value인 요소를 나타냅니다.

[attr~=value]는 attr 속성 이름과 공백으로 구분된 단어 목록인 값(그 중 하나가 value임)을 갖는 요소를 나타냅니다.

[attr|=value]는 attr 속성 이름이 있는 요소를 의미하며 값은 정확히 value일 수 있거나 value로 시작하고 뒤에 하이픈이 올 수 있습니다. 일반적으로 언어 하위 코드 일치에 사용됩니다.

[attr^=value]는 attr 속성 이름과 값 접두사가 붙은(접두사가 붙은) 요소를 나타냅니다.

[attr$=value]는 attr 속성 이름과 value를 접미사(suffix)로 갖는 요소를 나타냅니다.

[attr*=value]는 attr 속성 이름과 하나 이상의 value 항목을 포함하는 값을 가진 요소를 나타냅니다.

[속성 연산자 값 i] 닫는 괄호 앞에 i(또는 I)를 추가하면 값(ASCII 범위의 문자에 대해)이 대소문자를 구분하지 않고 비교됩니다.

추천

출처blog.csdn.net/shangyanaf/article/details/133177933