웹 프론트엔드 CSS 튜토리얼 CSS의 의사 요소 소개 및 의사 클래스와의 차이점

CSS의 의사 요소 소개 및 의사 클래스와의 차이점

Mar 08, 2017 pm 02:30 PM

의사 요소

CSS 사양이 더욱 개선되면서 점점 더 많은 새로운 CSS 의사 요소가 추가되었다는 것을 알고 있지만 일상적인 개발에서는 일반적으로 사용하고 더 낙관적인 브라우저 지원 상황은 전후입니다. 그러나 우리가 일상적인 개발에서 사용하는 것은 다음과 같습니다: 부동 소수점을 지우고 요소를 추가하기 위해(IE8 브라우저에서 단일 콜론 사용을 고려) 그러나 콘텐츠의 가능한 값은 무엇입니까? ?
1. 문자열: 내용: “문자열” - 참고: 특수 문자는 유니코드로 인코딩되어야 합니다.
2. 이미지: 내용: url(/path/to/benjamin.png) - 이미지가 삽입됩니다. 원래 크기에서는 크기를 조정할 수 없습니다. 이미지가 그라디언트를 지원하므로 의사 요소에 그라디언트 효과를 사용할 수 있습니다.
3. 문자 없음: content: "" - 부동 소수점을 지우고 배경 이미지를 설정하는 데 더 유용합니다. 배경 이미지의 너비와 너비를 설정할 수 있으며, 배경 크기 속성을 사용하여 배경 이미지의 크기를 조정할 수도 있습니다.
4. Counter: content: counter(li)- :marker가 나타나기 전, 목록 일련 번호 스타일을 설정하는 데 더 유용합니다. 자세한 내용은 다음 코드를 참조하세요.

ol {   
    countercounter-reset: li;   
}   
ol>li {   
    position: relative;   
    padding-left: 2em;   
    line-height: 30px;   
    list-style: none;   
}   
ol>li:before {   
    position: absolute;   
    top: 8px;   
    left: 0;   
    height: 16px;   
    width: 16px;   
    line-height: 16px;   
    text-align: center;   
    content: counter(li);   
    countercounter-increment: li;   
    border-radius: 50%;   
    background-color: #ccc;   
    font-size: 12px;   
    color: #efefee;   
}
로그인 후 복사

PS: 콘텐츠를 설정할 수 없습니다: "

Benjamin

" , HTML 코드 조각으로 구문 분석되지 않지만 문자열로 구문 분석됩니다.
5. content: attr(attrName)
content는 attr 함수를 사용하여 특히 편리합니다. 다음 코드를 참조하세요:

<style type="text/css">   
    .list li {   
        list-style: none;   
        margin-bottom: 20px;   
    }   
    .list li span {   
        vertical-align: middle;   
    }   
    .list li:before {   
        content: attr(data-index);   
        display: inline-block;   
        width: 20px;   
        height: 20px;   
        text-align: center;   
        color: #fff;   
        vertical-align: middle;           
        background-color: #f00;   
        border-radius: 50%;   
    }   
</style>   
<ul class="list">   
    <li data-index="1"><span>专注前端开发和用户体验</span></li>   
    <li data-index="2"><span>专注前端开发和用户体验</span></li>   
    <li data-index="3"><span>专注前端开发和用户体验</span></li>   
    <li data-index="4"><span>专注前端开发和用户体验</span></li>   
    <li data-index="5"><span>专注前端开发和用户体验</span></li>   
</ul>
로그인 후 복사

앞서 말한 내용을 마치고 IE에서 발생하는 버그에 대해 이야기해 보겠습니다.
버그 설명: 언제 의사 클래스를 사용하여 "+"/"-" 이미지 전환을 구현하면 열린 클래스를 추가하고 제거하여 달성되지만 IE8에서는 효과가 이상하고 올바르게 렌더링될 수 없지만 다른 브라우저에서는 정상입니다.

.plus {   
    position: relative;   
    display: inline-block;   
    vertical-align: top;   
    width: 20px;   
    height: 20px;   
    margin-right: 24px;   
    border: 1px solid #fdaa47;   
    border-radius: 3px;   
    overflow: hidden;   
}   
/* 横向 */
.plus:before {   
    content: &#39;&#39;;   
    position: absolute;   
    top: 10px;   
    left: 3px;   
    width: 14px;   
    height: 1px;   
    background-color: #fdaa47;   
    display: block;   
}   
/* 纵向 */
.plus:after {   
    display: block;   
    content: &#39;&#39;;   
    width: 1px;   
    height: 14px;   
    background-color: #fdaa47;   
    position: absolute;   
    left: 10px;   
    top: 3px;   
}   
.opened:after {   
    top: -30px;   
}
로그인 후 복사

addClass('opened') 및 RemoveClass('opened')를 통해 덧셈과 뺄셈을 전환할 때 시간: IE8 브라우저의 효과가 기대에 미치지 못했으며 일부 스타일에서는 현재 해결 방법은 다음과 같습니다.

<p class="parent">   
    <i class="plus"></i>   
</p>   
<script type="text/javascript">   
$(&#39;.parent&#39;).on(&#39;click&#39;, function() {   
    var $i = $(this).find(&#39;i&#39;),   
        className = $i.attr(&#39;class&#39;);   
    className = /opened/.test(className) ? &#39;plus&#39; : className +&#39; opened&#39;;   
    $i.replaceWith(&#39;<i class="&#39;+ className +&#39;""></i>&#39;);   
});   
</script>
로그인 후 복사

의사 클래스 및 의사 요소의 유사점과 차이점
1. W3C CSS 2.1 선택기
는 의사 클래스와 의사 요소를 구분하지 않습니다.
의사 클래스: 첫 번째 자식, 을 사용합니다. >의사 요소: 첫 번째 줄
PS: 사양에는 링크의 여러 의사 클래스 쓰기 순서가 명확하게 언급되어 있습니다.
A:hover는 A:link 및 A:visited 뒤에 위치해야 합니다. 그렇지 않으면 계단식 규칙이 A:hover 규칙의 'color' 속성을 숨기게 됩니다. 마찬가지로 A:active가 A:hover 뒤에 배치되므로 사용자가 활성화하고 그 위로 마우스를 가져갈 때 활성 색상(라임)이 적용됩니다. A 요소.

2. CSS 선택기 레벨 3
이 사양에서는 의사 클래스와 의사 클래스를 구분하여 단일 콜론을 사용합니다. 요소는 이중 콜론으로 시작합니다.
예를 들어,
pseudo-class: first-child
pseudo-element:: first-line, ::first-letter, ::before, ::after
CSS 3이 CSS2.1 기반에는 여러 가지 의사 클래스가 있습니다: target, UI 요소 상태에 대한 의사 클래스: check 등, 구조적 의사 클래스: nth-child() 등. 자세한 내용은 사양을 참조하세요.

3. CSS 선택자 레벨 4 초안
이 초안에는 입력 제어 상태, 값 상태 및 값 확인과 관련된 클래스와 같은 새로운 의사 클래스가 많이 추가되었습니다. -클래스, 트리 구조의 의사 클래스, 그리드 구조의 의사 클래스 등

4. CSS 의사 요소 모듈 레벨 4 ——W3C 최초 공개 작업 초안, 2015년 1월 15일
다음과 같은 일부 의사 요소가 추가되었습니다.
강조 표시된 콘텐츠 선택 : ::selection, ::spelling-error 및 ::grammar-error 의사 요소,
자리 표시자 입력: ::placeholder 의사 요소.

5. 일반 애플리케이션
의사 클래스:
1) 링크 스타일
2) 인터레이스 색상 변경
의사 요소:
1 ) 의사 요소 after의 가장 일반적인 용도는 부동 소수점을 지우는 것입니다.
.fix{*zoom:1;}
.fix:after,.fix::after{display: content: "clear"; 높이: 0 ; 지우기: 둘 다; 오버플로: 숨김; 가시성: 숨김;}
2) 버튼 텍스트를 숨기기 위한 글자 간격
3) 첫 번째 줄 및 첫 글자 스타일

위 내용은 CSS의 의사 요소 소개 및 의사 클래스와의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

첫 번째 맞춤형 전환을 만듭니다 첫 번째 맞춤형 전환을 만듭니다 Mar 15, 2025 am 11:08 AM

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

쇼, 말하지 마십시오 쇼, 말하지 마십시오 Mar 16, 2025 am 11:49 AM

웹 사이트의 컨텐츠 프레젠테이션을 설계하는 데 얼마나 많은 시간을 소비합니까? 새 블로그 게시물을 작성하거나 새 페이지를 만들 때

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

NPM 명령은 무엇입니까? NPM 명령은 무엇입니까? Mar 15, 2025 am 11:36 AM

NPM 명령은 서버 시작 또는 컴파일 코드와 같은 것들에 대한 일회성 또는 지속적으로 실행되는 프로세스로 다양한 작업을 실행합니다.

CSS를 사용하여 텍스트 그림자 및 그라디언트와 같은 텍스트 효과를 만드는 방법은 무엇입니까? CSS를 사용하여 텍스트 그림자 및 그라디언트와 같은 텍스트 효과를 만드는 방법은 무엇입니까? Mar 14, 2025 am 11:10 AM

이 기사에서는 그림자 및 그라디언트와 같은 텍스트 효과에 CSS를 사용하여 성능을 최적화하고 사용자 경험을 향상시킵니다. 초보자를위한 리소스도 나열됩니다. (159 자)

Leakenty와 함께 자신의 Bragdoc을 만듭니다 Leakenty와 함께 자신의 Bragdoc을 만듭니다 Mar 18, 2025 am 11:23 AM

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. 특이성에 대해 이야기하기 위해 (X, X, X, X)를 사용해 보겠습니다. Mar 24, 2025 am 10:37 AM

나는 다른 날에 Eric Meyer와 대화를 나누고 있었고 나는 내 형성 시절부터 Eric Meyer 이야기를 기억했습니다. CSS 특이성에 대한 블로그 게시물을 썼습니다

See all articles