학 CSS:에 완전한 가이드
우리는 완전한 가이드를 배울 수 있 CSS,당신은 단지 시작에 기초하거나 당신은 탐구하고 싶 고급 CSS.
CSS Selectors
그래서 당신이 배운 기본id
,class
,anddescendant
선택기고 그 다음 호출해야 합니다. 그렇다면 엄청난 수준의 유연성을 놓치고 있습니다. 이러한 고급 CSS 및 CSS3 선택기를 메모리에 커밋하기 위해 자신에게 빚지고 있습니다.
기본 선택기
1., *
* { margin: 0; padding: 0;}
노크하자 분명한 사람은 초보자하기 전에,우리는 더 고급 selectors.
별 기호는 페이지의 모든 단일 요소를 대상으로합니다. 많은 개발자가이 트릭을 사용하여margin
s 및padding
를 제로로 만듭니다. 이것은 빠른 테스트를 위해 확실히 괜찮지 만,프로덕션 코드에서 이것을 사용하지 말 것을 권합니다. 브라우저에 너무 많은 무게를 더하고 불필요합니다.
*
는 자식 선택기와 함께 사용할 수도 있습니다.,
#container * { border: 1px solid black;}
이것은 대상의 모든 단일 요소가 아이의#container
div
. 다시 말하지만,이 기술을 아주 많이 사용하지 않으려 고합니다.
2. #X
#container { width: 960px; margin: auto;}
해시 기호를 선택기에 접두어로 붙이면id
로 타겟팅 할 수 있습니다. 그러나id
선택기를 사용할 때는주의하십시오.,
에 자신이 절대적으로 적용해야 합
id
이 요소하기 위해서는 대상은?
id
선택기는 단단하며 재사용을 허용하지 않습니다. 가능한 경우 먼저 태그 이름,새로운 HTML5 요소 중 하나 또는 의사 클래스를 사용해보십시오.
3. .X
.error { color: red;}
이것은class
선택기입니다. 의 차이는id
sclass
es 는 것으로,후자를 대상으로 지정할 수 있습 여러 요소입니다., 스타일링을 요소 그룹에 적용하려면class
es 를 사용하십시오. 또는id
s 를 사용하여 건초 더미에서 바늘을 찾고 특정 요소 만 스타일을 지정하십시오.
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 Y
및X > 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
만을 대상으로ul
s 는 직접적인 어린이의div
와id
container
., 예를 들어 첫 번째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:
후before
및after
의사 클래스는 훌륭합니다., 매일 사람들이 효과적으로 사용할 수있는 새롭고 창의적인 방법을 찾는 것 같습니다. 그들은 단순히 선택한 요소 주위에 콘텐츠를 생성합니다.
많은 사람들이 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;}
부정 의사 클래스가 특히 유용합니다. 자의 말을 선택하려면 모든div
s 를 제외하고,하나의 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-top
및border-bottom
., 글쎄,그 배열로,그 세트의 첫 번째와 마지막 항목은 조금 이상하게 보일 것입니다.
는 많은 디자이너에 적용 클래스의first
및last
보상합니다. 대신 이러한 의사 클래스를 사용할 수 있습니다.
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-bottom
각li
는 것이 더 어둡게 보다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;}
이 구조적 의사 클래스는 일부 영리한 방법으로 사용할 수 있습니다. 부모 컨테이너 내에 형제가없는 요소를 대상으로합니다. 예를 들어 단일 목록 항목 만있는 모든ul
s 를 대상으로 보겠습니다.,먼저,이 작업을 어떻게 수행 할 것인지 스스로에게 물어보십시오. 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 항목을 가지고 있습니다.,
-
CSS312 호 CSS 가격에 대한 테이블의 최신 웹 프로젝트몬티 Shokeen
-
스트랩 418 최고의 스트랩 4 플러그인몬티 Shokeen
에 무료로 액세스 으로저에 대 한 요소 1 개월
마지막으로,여기에 매우 특별한 제의를 구축을 돕기 위해 전문가는 사이트 및 앱입니다. 뿐만 아니라 이러한 사용 CSS selectors,왜 활용하지 않습의 높은 품질의 사진,동영상,프리미엄 글꼴,그래픽,일러스트,그리고 더 많은?,일반적으로 이와 같은 리소스에 대해 비용을 지불해야합니다. 그러나 지금 당장은 완전히 무료로 한 달 동안 코딩 프로젝트를 위해 수백만 개의 창의적인 자산에 액세스 할 수 있습니다. 그리고 무엇보다,당신이 얻을 무제한 다운로드,그래서 당신이 잡을 수 있는만큼 당신이 원하는대로 달 동안에만 지불하는 경우 결정을 계속!,
이 제안을 활용 이를 클릭합니다 특수 가입 링크 또는 코드를 입력 아래에 등록 페이지:
elements_cont_tuts-freemonth1-4bwkbp
너무 오래 기다리지 않는—제안에만 유효한 제한 시간!피>