30CSS Selectors 해야 합니다 기억

학 CSS:에 완전한 가이드

우리는 완전한 가이드를 배울 수 있 CSS,당신은 단지 시작에 기초하거나 당신은 탐구하고 싶 고급 CSS.

CSS Selectors

그래서 당신이 배운 기본id,class,anddescendant선택기고 그 다음 호출해야 합니다. 그렇다면 엄청난 수준의 유연성을 놓치고 있습니다. 이러한 고급 CSS 및 CSS3 선택기를 메모리에 커밋하기 위해 자신에게 빚지고 있습니다.

기본 선택기

1., *

* { margin: 0; padding: 0;}

노크하자 분명한 사람은 초보자하기 전에,우리는 더 고급 selectors.

별 기호는 페이지의 모든 단일 요소를 대상으로합니다. 많은 개발자가이 트릭을 사용하여margins 및padding를 제로로 만듭니다. 이것은 빠른 테스트를 위해 확실히 괜찮지 만,프로덕션 코드에서 이것을 사용하지 말 것을 권합니다. 브라우저에 너무 많은 무게를 더하고 불필요합니다.

*는 자식 선택기와 함께 사용할 수도 있습니다.,

#container * { border: 1px solid black;}

이것은 대상의 모든 단일 요소가 아이의#containerdiv. 다시 말하지만,이 기술을 아주 많이 사용하지 않으려 고합니다.

2. #X

#container { width: 960px; margin: auto;}

해시 기호를 선택기에 접두어로 붙이면id로 타겟팅 할 수 있습니다. 그러나id선택기를 사용할 때는주의하십시오.,

에 자신이 절대적으로 적용해야 합id이 요소하기 위해서는 대상은?

id선택기는 단단하며 재사용을 허용하지 않습니다. 가능한 경우 먼저 태그 이름,새로운 HTML5 요소 중 하나 또는 의사 클래스를 사용해보십시오.

3. .X

.error { color: red;}

이것은class선택기입니다. 의 차이는idsclasses 는 것으로,후자를 대상으로 지정할 수 있습 여러 요소입니다., 스타일링을 요소 그룹에 적용하려면classes 를 사용하십시오. 또는ids 를 사용하여 건초 더미에서 바늘을 찾고 특정 요소 만 스타일을 지정하십시오.

4. X

a { color: red; }ul { margin-left: 0; }

What 를 대상으로 할 경우 모든 페이지에 있는 요소에 따라,그들의type아닌id또는class이름? 간단하게 유지하고 유형 선택기를 사용하십시오. 정렬되지 않은 모든 목록을 대상으로해야하는 경우ul {}를 사용하십시오.,

기본 선택기의 라이브 데모

결합자 선택기

5. X Y

li a { text-decoration: none;}

다음으로 가장 일반적인 선택기는descendant선택기입니다. 당신이 당신의 선택자와 더 구체적 일 필요가있을 때,당신은 이것들을 사용합니다. 예를 들어,어떤 경우에,보다는 오히려 모든 대상으로 태그는 앵커,당신은 당신만을 대상 앵커 내에 있는 목록을 순서대로 정렬되지 않? 이것은 특히 자손 선택기를 사용할 때입니다.

Pro-tip:선택기가X Y Z A B.error처럼 보이면 잘못하고 있습니다., 그 무게를 모두 적용하는 것이 절대적으로 필요한지 항상 스스로에게 물어보십시오.

6. X+Y

ul + p { color: red;}

이를 인접 선택기라고 합니다. 이전 요소가 바로 앞에 오는 요소 만 선택합니다. 이 경우 각ul뒤에 첫 번째 단락 만 빨간색 텍스트를 갖습니다.

7., X>Y

div#container > ul { border: 1px solid black;}

사이의 차이를 표준X YX > Y는 후자는 단지 선택을 직접적이다. 예를 들어 다음 마크 업을 고려하십시오.

 <div> <ul> <li> List Item <ul> <li> Child </li> </ul> </li> <li> List Item </li> <li> List Item </li> <li> List Item </li> </ul> </div>

는 선별기의#container > ul만을 대상으로uls 는 직접적인 어린이의dividcontainer., 예를 들어 첫 번째li의 자식 인ul를 대상으로하지 않습니다.

이러한 이유로 자식 결합기를 사용하면 성능상의 이점이 있습니다. 사실,특히 JavaScript 기반 CSS 선택기 엔진으로 작업 할 때 권장됩니다.

8. X~Y

ul ~ p { color: red;}

이 형제 결합자는X + Y와 유사하지만 덜 엄격합니다., 는 동안 인접 선택(ul + p)만 선택하는 첫 번째 요소는 바로 앞에 의해 이전 선택이 더욱 일반화됩니다. 위의 예를 참조하여p요소가ul를 따르는 한 선택합니다.

결합자 선택기의 라이브 데모

속성 선택기

9. X

a { color: green;}

라는 속성의 선택,위의 예에서,이것을 선택 앵커 태그는title속성이 있습니다., 하지 않는 앵커 태그는이 특정 스타일링을받지 않습니다. 그러나 좀 더 구체적이어야한다면 어떨까요? 다음 예제를 확인하십시오!

10. X

a { color: #83b348; /* Envato green */}

위의 코드 조각이 스타일의 모든 앵커 태그에 대한 링크를https://code.tutsplus.com;그들이 받게 우리의 브랜드 녹색 색상입니다. 다른 모든 앵커 태그는 영향을받지 않습니다.

값을 따옴표로 감싸고 있습니다. JavaScript CSS 선택기 엔진을 사용할 때도이 작업을 수행해야합니다. 가능하면 항상 비공식적 인 방법보다 CSS3 선택기를 사용하십시오.,

이것은 약간 단단하지만 잘 작동합니다. 링크가 실제로 Envato Tuts+에 직접 수행되지만 경로가 다음과 같은 경우 어떻게해야합니까 code.tutsplus.com 오히려 전체 URL 보다? 이 경우 정규 표현식 구문을 조금 사용해도 됩니다.

11. X

a { color: #83b348; /* Envato green */}

거기 우리가 간다;그게 우리가 필요로하는 것입니다. 별은 진행 값이 속성의 값 어딘가에 나타나야한다고 지정합니다. 는 방법으로,이를 커버 tutsplus.com,code.tutsplus.com 도 webdesign.tutsplus.com.

이전에 광범위한 문입니다., 앵커 태그가 URL 의 문자열 tutsplus 가있는 일부 비 Envato 사이트에 링크 된 경우 어떻게해야합니까? 할 때 필요가 있는지 당신은 특정 사용하는^$,을 참조하려면 시작과 끝의 문자열을,각각합니다.

12. X

a { background: url(path/to/external/icon.png) no-repeat; padding-left: 10px;}

궁금해 어떻게 몇몇 웹사이트를 표시할 수 있는 작은 아이콘을 연결하는 외부? 나는 당신이 볼 수 이하기 전에,그들의 알림는 링크를 직접 것입니다 당신은 완전히 다른 웹 사이트입니다.이것은 캐럿 기호가있는 식은 죽 먹기입니다., 문자열의 시작 부분을 지정하기 위해 정규 표현식에서 가장 일반적으로 사용됩니다. 면 우리가 원하는 대상을 모두 앵커 태그는href를 시작으로http,우리가 사용할 수 있는 선택과 유사한 코드 조각 다음과 같다.

고 있는 것을 주지 않을 찾는 불필요하지 않 계정 Url 로 시작하는

이제,만약 우리가 우리가 원하는 대신 스타일의 모든 앵커를 링크하고,말씀,사진?, 그런 경우에는 문자열의 끝을 검색해 보겠습니다.

13. X

a { color: red;}

다시는 우리가 사용하는 정규 표현식을 상징,$,를 참조하의 문자열입니다. 이 경우 이미지 또는 적어도.jpg로 끝나는 URL 에 연결되는 모든 앵커를 찾고 있습니다. 이 GIF 및 PNG 이미지를 캡처하지 않습니다 명심하십시오.

14. X

a { color: red;}

다양한 이미지 유형을 모두 어떻게 보상합니까?, 음,우리가 만들 수 있는 여러 선택기와 같이

a,a,a,a { color: red;}

하지만 그 고통,그리고 비효율적이다. 또 다른 가능한 해결책은 사용자 정의 특성을 사용하는 것입니다. 이미지에 링크 된 각 앵커에 자체data-filetype속성을 추가 한 경우 어떻게해야합니까?

<a href="path/to/image.jpg" data-filetype="image"> Image Link </a>

그리는 걸 장소에서,우리가 사용할 수 있는 표준 특성을 선택하는 대상들만 앵커.

a { color: red;}

15. X

 a { color: red;}a { border: 1px solid black;}

여기에 친구를 감동거야 특별한 하나입니다. 너무 많은 사람들이이 트릭에 대해 알지 못합니다., 물결표(~)기호를 사용하면 공백으로 구분 된 값 목록이있는 속성을 타겟팅 할 수 있습니다.

가와 함께 우리의 사용자 정의 속성에서 15 번째,위의를 만들 수 있습data-info특성,을 받을 수 있는 공간으로 구분한 목록으로도 우리가 만들 필요가 있습니다. 그냥 예를 들어—이 경우,우리는 이미지에 대한 외부 링크와 링크의 메모를 만들 것입니다.,

"<a href="path/to/image.jpg" data-info="external image"> Click Me, Fool </a>

와 함께하는 태그는 장소에서,지금은 우리가 할 수 있습을 목표로 태그나 그 값을 사용하여~속성 선택다.

꽤 멋진,응?

속성 선택기의 라이브 데모

의사 선택기

16. X:방문 및 X:링크

a:link { color: red; }a:visited { color: purple; }

우리가 사용하는:link의사 클래스를 모든 대상 앵커 태그는 아직 클릭한다.,

또한 우리는 또한:visited의사 클래스는,당신이 기대하는 바와 같이,우리가 할 수 있습을 적용하는 특정한 스타일링하기에만 앵커 태그에서 페이지가 있는 클릭 또는”방문한”.

17. X:체크

input:checked { border: 1px solid black;}

이 의사 클래스가 유일한 대상 사용자 인터페이스가 있는 요소 검사—과 같은 라디오 버튼이나 체크박스를 선택합니다. 그것은 그만큼 간단합니다.

18. X:

beforeafter의사 클래스는 훌륭합니다., 매일 사람들이 효과적으로 사용할 수있는 새롭고 창의적인 방법을 찾는 것 같습니다. 그들은 단순히 선택한 요소 주위에 콘텐츠를 생성합니다.

많은 사람들이 clear-fix 해킹이 발생했을 때이 클래스에 처음 소개되었습니다.

이 해킹은:after의사 클래스를 사용하여 요소 뒤에 공백을 추가 한 다음 지우십시오. 특히overflow: hidden;메서드가 가능하지 않은 경우 도구 가방에 가지고있는 훌륭한 트릭입니다.

이것의 또 다른 창조적 인 사용은 그림자를 만드는 것에 대한 나의 빠른 팁을 참조하십시오.,

에 따르면 CSS3 선택 사양,당신은 기술적으로 사용하여 의사의 요소 구 두 개의 콜론::. 그러나 호환성을 유지하기 위해 사용자 에이전트는 단일 콜론 사용도 허용합니다.

19. X:호버

div:hover { background: #e3e3e3;}

오 어서. 당신은 이것을 알고 있습니다. 이에 대한 공식 용어는”사용자 작업 의사 클래스”입니다. 혼란스럽게 들리지만 실제로는 그렇지 않습니다.사용자가 요소 위로 마우스를 가져갈 때 특정 스타일을 적용하고 싶습니까? 이것은 일을 끝낼 것입니다!,

이전 버전 Internet Explorer 버전 반응하지 않을 때는:hover의사 클래스에 적용되 아무것도 다른 것보다는 앵커 태그입니다.

를 가장 자주 사용하는 이 선택을 적용할 때,예를 들어,border-bottom하는 태그는 앵커을 때였다.

a:hover { border-bottom: 1px solid black;}

Pro-tip:border-bottom: 1px solid black;text-decoration: underline;보다 더 잘 보입니다.

20., X:not(selector)

div:not(#container) { color: blue;}

부정 의사 클래스가 특히 유용합니다. 자의 말을 선택하려면 모든divs 를 제외하고,하나의 id 의container. 위의 스 니펫은 해당 작업을 완벽하게 처리합니다.

거나,원하는 경우 선택하려면 모든 단일 요소(하지 않는 것이 좋)를 제외하고 절 태그를 다음을 수행할 수 있습니다:

*:not(p) { color: green;}

21., X::pseudoElement

p::first-line { font-weight: bold; font-size: 1.2em;}

우리가 사용할 수 있는 의사소(정하여 지정한::)스타일을 조각의 요소와 같은 첫 번째 라인 또는 첫 번째 편지입니다. 이러한 사항을 적용하려면 블록 레벨 요소에 적용해야 함을 명심하십시오.,

의사의 요소로 구성된 두 개의 콜론:::

대상의 첫 글자가 단락

p::first-letter { float: left; font-size: 2em; font-weight: bold; font-family: cursive; padding-right: 2px;}

이 조각은 추상화하는 것입니다 찾을 수 있는 모든 단락에서 페이지 및 그 하위-대상에서 첫 단어의 첫 글자만는 요소입니다.

이것은 기사의 첫 글자에 대한 신문과 같은 스타일링을 만드는 데 가장 자주 사용됩니다.,

대상의 첫 번째 라인에 단락

p::first-line { font-weight: bold; font-size: 1.2em;}

마찬가지로,::first-line의사의 요소,예상대로,스타일의 첫 번째 라인 요소만 있습니다.

“와의 호환성을 위해 기존의 스타일 시트,사용자 에이전트를 해야 합니다 또한 받아들이 이전에 하나콜론 표기 위한 의사소개 CSS 레벨 1 및 2(즉,:first-line,:first-letter,:before:after). 이 호환성은이 사양에 도입 된 새로운 의사 요소에 대해 허용되지 않습니다.,”-W3c 선택기 사양

의사 선택기의 라이브 데모

N 번째 자식 및 유형 선택기

22. X:nth-child(n)

li:nth-child(3) { color: red;}

스택에서 특정 요소를 타겟팅 할 방법이 없었던 날을 기억하십니까? 이 문제를 해결하려면 어떻게해야합니까?

nth-child는 매개 변수로 정수를 허용하지만 이것은 0 기반이 아닙니다. 두 번째 목록 항목을 타겟팅하려면li:nth-child(2)를 사용하십시오.이것을 사용하여 변수 자식 집합을 선택할 수도 있습니다., 예를 들어,li:nth-child(4n)를 수행하여 모든 네 번째 목록 항목을 선택할 수 있습니다.

23. X:n-마지막 아동(n)

li:nth-last-child(2) { color: red;}

무엇이 당신이 큰 항목의 목록에서ul,그리고 당신은에 액세스하는 데 필요한 말,세 번째 마지막 항목은? 대신li:nth-child(397)를 수행하는 대신nth-last-child의사 클래스를 사용할 수 있습니다.

이 기술은 위의 16 번과 거의 동일하게 작동합니다. 차이점은 컬렉션의 끝에서 시작하여 돌아 오는 길에 작동한다는 것입니다.

24., X:n-의 유형(n)

ul:nth-of-type(3) { border: 1px solid black;}

시간이 있을 것이보다는 선택을child대신에 필요에 따라 선택하는type의 요소입니다.

5 개의 정렬되지 않은 목록이 포함 된 마크 업을 상상해보십시오. 하고 싶다면 스타일 세 번째ul고 있지 않은 독특한id으로 후크를 사용할 수 있습니다nth-of-type(n)의사 클래스입니다. 위의 스 니펫에서 세 번째ul만 주위에 테두리가 있습니다.

25., X:n-지속의 유형(n)

ul:nth-last-of-type(3) { border: 1px solid black;}

고 예,일관성을 유지하기 위,우리 또한 사용할 수 있습니다nth-last-of-type로 시작의 끝에서 선택 목록을 작동하는 우리의 방법으로 뒷면을 대상으로 원하는 요소입니다.

26. X:first-child

ul li:first-child { border-top: none;}

이 구조적 의사 클래스를 사용하면 요소의 부모의 첫 번째 자식 만 타겟팅 할 수 있습니다. 당신은 종종 첫 번째와 마지막 목록 항목에서 테두리를 제거하는 데 사용합니다.

예를 들어,당신의 목록을 가지고 행,그리고 각각의 하나는border-topborder-bottom., 글쎄,그 배열로,그 세트의 첫 번째와 마지막 항목은 조금 이상하게 보일 것입니다.

는 많은 디자이너에 적용 클래스의firstlast보상합니다. 대신 이러한 의사 클래스를 사용할 수 있습니다.

27. X:지난-아

ul > li:last-child { color: green;}

반대의first-child,last-child대상으로 마지막 항목의 요소의 부모입니다.

last-child선별기를 들어

의 구축을 보여주기 위해 간단한 예제를 가능한 한 가지의 사용은 이 클래스입니다., 스타일이 지정된 목록 항목을 작성하겠습니다.

 <ul> <li> List Item </li> <li> List Item </li> <li> List Item </li> </ul>

마크 업의 경우 특별한 것은 없습니다.

여기에 CSS:

이 스타일이 배경 설정,브라우저를 제거 기본 패딩은ul며,테두리를 적용 각li을 제공하기 위하여 깊이가 있습니다.

추가 깊이 귀하의 목록을 적용하는border-bottomli는 것이 더 어둡게 보다li‘의 배경 색상., 그런 다음border-top를 적용하여 몇 가지 음영이 가볍습니다.

유일한 문제와 같이 위 이미지에는 국경이 적용됩니다 매우 상단과 하단의 순서 없는 목록—모니다. 자의 사용:first-child:last-child의사업을 수 있습니다.나는 당신이 그것을 해결하려고 노력할 것이라고 생각합니다.

28., X:만-아

div p:only-child { color: red;}

정직하게,당신은 아마 자신을 찾을 수 없를 사용하는only-child의사 클래스가 너무 많습니다. 그럼에도 불구하고,그것은 당신이 그것을 필요로한다면,사용할 수 있습니다.

그것은 당신이 그 부모의 유일한 자식 인 요소를 대상으로 할 수 있습니다. 예를 들어 위의 스 니펫을 참조하면div의 유일한 자식 인 단락 만 빨간색으로 표시됩니다.다음 마크 업을 가정 해 봅시다.,

<div><p> My paragraph here. </p></div><div> <p> Two paragraphs total. </p> <p> Two paragraphs total. </p></div>

이 경우 두 번째div의 단락은 대상이되지 않습니다. 요소에 두 개 이상의 자식을 적용하자마자only-child의사 클래스가 적용됩니다.

29. X:only-of-type

li:only-of-type { font-weight: bold;}

이 구조적 의사 클래스는 일부 영리한 방법으로 사용할 수 있습니다. 부모 컨테이너 내에 형제가없는 요소를 대상으로합니다. 예를 들어 단일 목록 항목 만있는 모든uls 를 대상으로 보겠습니다.,먼저,이 작업을 어떻게 수행 할 것인지 스스로에게 물어보십시오. ul li를 수행 할 수 있지만 모든 목록 항목을 대상으로합니다. 유일한 해결책은only-of-type를 사용하는 것입니다.나는 이것이 내가 할 수있는 유일한 방법이라고 생각한다. X:first-of-type

first-of-type의사 클래스를 사용하면 해당 유형의 첫 번째 형제를 선택할 수 있습니다.이것을 더 잘 이해하려면 테스트를 해봅시다. 복사본을 다음과 같은 태그가 코드 편집기

<div> <p> My paragraph here. </p> <ul> <li> List Item 1 </li> <li> List Item 2 </li> </ul> <ul> <li> List Item 3 </li> <li> List Item 4 </li> </ul> </div>

없이,지금이 더 읽고,시를 알아내는 방법만을 대상으로”목록 항목 2″., 당신이 그것을 알아 냈을 때(또는 포기했을 때)계속 읽으십시오.

솔루션 1

이 테스트를 해결하는 다양한 방법이 있습니다. 우리는 그들 중 소수를 검토 할 것입니다. 이 작업을 수행하려면 다음 작업을 수행해야합니다.

ul:first-of-type > li:nth-child(2) { font-weight: bold;}

이 코드 조각 기본적으로 말을 찾을 수 있는 첫 번째 순서 없는 목록에서 페이지를 다만 즉각적인 아이들이 있는 목록 항목입니다. 그런 다음 해당 세트의 두 번째 목록 항목 만 필터링하십시오.

솔루션 2

또 다른 옵션은 사용하는 인접하기를 선택하세요.,

p + ul li:last-child { font-weight: bold;}

이 시나리오에서 찾을 수 있ul는 즉시 진행p태그,그리고 다음을 찾아주는 아이의 요소입니다.

솔루션 3

우리는 할 수 있습으로 불쾌하거나 장난으로 우리는 이러한 선택.

ul:first-of-type li:nth-last-child(1) { font-weight: bold; }

이번에 우리는 첫 번째ul페이지에서,그리고 다음을 먼저 항목이지만 바닥에서 시작!,

라이브 데모의 N 번째 아동 유형과 선택기

결론

경우 보상에 대한 오래된 브라우저는 다음과 같 Internet Explorer6,당신은 여전히주의해야 사용하는 경우 이러한 새로운 선택기. 그러나 그것이 당신이 이것들을 배우지 못하게하십시오. 너 자신에게 큰 몹쓸 짓을하고있을 것이다. 브라우저 호환성 목록은 여기를 참조하십시오. 또는 Dean Edward 의 우수한 IE9 를 사용할 수 있습니다.js 스크립트는 이전 브라우저에 이러한 선택기에 대한 지원을 제공합니다.,

둘째,일할 때 자바 스크립트와 라이브러리와 같은 인기 jQuery,항상 사용하려고 이러한 기본 CSS3 선택을 통해 사용자 지정 라이브러리의 방법/선택 가능한 경우. 그것은 당신의 코드는,빠르게 선택으로 엔진에 사용할 수 있는 브라우저의 기본 구문 분석,보다는 오히려 자체.

그것은 당신이 시간을 보내는 학습 웹 디자인 기본지만,필요한 경우 빠른 해결책 중 하나는 우리의 준비에 사용 CSS 템플릿의 좋은 선택이 될 수 있습니다. 우리는 또한 당신이 고려해야 할 몇 가지 프리미엄 CSS 항목을 가지고 있습니다.,

  • CSS3
    12 호 CSS 가격에 대한 테이블의 최신 웹 프로젝트
    몬티 Shokeen
  • 스트랩 4
    18 최고의 스트랩 4 플러그인
    몬티 Shokeen

에 무료로 액세스 으로저에 대 한 요소 1 개월

마지막으로,여기에 매우 특별한 제의를 구축을 돕기 위해 전문가는 사이트 및 앱입니다. 뿐만 아니라 이러한 사용 CSS selectors,왜 활용하지 않습의 높은 품질의 사진,동영상,프리미엄 글꼴,그래픽,일러스트,그리고 더 많은?,일반적으로 이와 같은 리소스에 대해 비용을 지불해야합니다. 그러나 지금 당장은 완전히 무료로 한 달 동안 코딩 프로젝트를 위해 수백만 개의 창의적인 자산에 액세스 할 수 있습니다. 그리고 무엇보다,당신이 얻을 무제한 다운로드,그래서 당신이 잡을 수 있는만큼 당신이 원하는대로 달 동안에만 지불하는 경우 결정을 계속!,

이 제안을 활용 이를 클릭합니다 특수 가입 링크 또는 코드를 입력 아래에 등록 페이지:

elements_cont_tuts-freemonth1-4bwkbp

너무 오래 기다리지 않는—제안에만 유효한 제한 시간!피>

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다