워드프레스 쇼핑몰, 웹사이트

블로그

1. 형제 선택자(Sibling Selector)


이웃 형제 선택자(Adjacent Selector, Adjacent Sibling Selector)는 이웃한 형제 선택자 중 나중의 요소만 선택되지만 형제 선택자는 이웃한 형제 선택자 중 처음의 선택자를 제외한 모든 요소가 선택됩니다. 첨부 파일에 다음과 같은 코드가 있습니다. div과 p가 섞여있죠. 


<div>1</div>

<p>2</p>

<div>3</div>

<div>4</div>

<p>5</p>

<div>6</div>


스타일시트에 다음과 같이 선언하면 3,4,6의 div이 선택됩니다.


div ~ div {

  background: green;

}



다음처럼 하면 p 태그중 나중의 것만 선택됩니다. p 태그는 두개밖에 없으므로 마지막 하나만 선택됩니다.

p ~ p {

  background: green;

}



다음은 p 다음에 있는 div은 모두 선택됩니다. div ~ div과 같은 결과입니다.


p ~ div {

  background: green;

}



2. 속성 선택자 (Attribute Selector)


a 태그나 img 태그 등 여러가지 태그에는 속성이 사용됩니다. src, href, alt, title 등 여러 가지가 있죠. 이들 요소에 별다른 아이디나 클래스 선택자를 추가하지 않고도 이미 색다른 속성이 있다면 특정해서 선택할 수 있습니다. 속성 선택자는 대괄호를 사용해서 선택합니다.


<ul>

<h3>상품</h3> <li> <figure class="first"> <a href="http://naver.com" title="네이버"> <img src="smartphone.png" alt="naver"></a> <figcaption></figcaption> </figure> </li> <li> <figure> <a href="http://google.com" > <img src="smartphone.jpg" title="구글 사이트"></a> <figcaption class="second"></figcaption> </figure> </li> <li> <figure> <a href="http://daum.net" title="다음"> <img src="smartphone.gif" alt=""></a> <figcaption class="new"></figcaption> </li> </ul>


첨부 파일에는 위와같은 코드가 있고 웹브라우저에서 보면 아래와 같이 나옵니다.




아래처럼 정의하면 모든 a 태그에는 같은 속성이 있으므로 스마트폰 이미지가 나타나지 않습니다. a를 빼고 사용해도 마찬가지입니다. 


a[href] {  

   display: none;  

}  


보다 더 특정하기 위해서 다음과 같이 url을 추가했습니다. 그러면 첫번째 이미지가 나타나지 않습니다.


a[href="http://naver.com"] {  

   display: none;  

}  


이번에는 url 중 일부 글자만 입력했습니다. 그대신에 href에 별표를 삽입해야합니다.


a[href*="nave"] {  

   display: none;  


다음과 같이 하면 모든 a 태그에 http가 있으므로 모든 스마트폰 이미지가 나타나지 않습니다. ^ (caret)이 추가됐습니다.

a[href^="http"] {  

   display: none;  

}  


url에 이미지 확장자가 있는 경우 $ 사인을 사용합니다. href의 경우 [href$=".jpg"]처럼 하면 되지만 현재 a 태그에는 이런 url이 없습니다. 그래서 img 태그에 있는 것을 사용했습니다. 이미지의 url에는 href가 아닌 src를 사용하므로 다음과 같이 하면 됩니다.


img[src$=".jpg"] {  

   display: none;  

}  


title 속성에 여러개의 단어가 있고 단어 사이에 공백이 있는 경우 하나의 단어를 사용해서 선택하려면 ~ (tilde)를 사용합니다.


img[title~="구글"] {  

   display: none;  

}  


다른 속성도 마찬가지 방법을 사용하면 됩니다.


a[title="네이버"] {  

   display: none;  

}  

a[title*="네이"] {  

   display: none;  

}  


3. not 선택자


현재 세개의 figcaption 태그가 있습니다. 두번째 태그에 second 클래스가 있는데 이것에 대해 다음과 같이 사용하면 이 선택자가 있는 figcaption을 제외한 figcaption이 선택됩니다. 세번째 figcaption의 new 이미지가 있는데 나타나지 않게 됩니다.


figcaption:not(.second) {  

   display: none;  

}  


4. nth-child 선택자


first-child를 사용하면 li 태그중 첫번째 태그가 선택되고 last-child를 사용하면 마지막 li가 선택됩니다. 중간의 요소를 선택하려면 nth-child(숫자)의 경우 처음부터 숫자에 해당하는 곳의 요소가, nth-last-child(숫자)의 경우 마지막부터 숫자에 해당하는 곳의 요소가 선택됩니다. 숫자는 부모요소내부에 있는 자식요소를 기준으로 합니다. 예를들어 현재 상품 이미지가 있는 곳의 ul 태그에는 자식요소가 4개 있습니다. h3 하나와 li 3개인데 아래와 같이 li:first-child라고 하면 선택이 안됩니다. ul 의 첫번째 자식은 h3이기 때문이죠. 그래서 첫번째 li를 선택하려면 li:nth-child(2)라고 해야합니다. 마찬가지로 li:nth-last-child(4)로 하면 선택이 안됩니다. ul 안의 뒤에서부터 마지막은 h3이기 때문이죠.


li:first-child {  

   display: none;  

}  

li:nth-child(2) {   

   display: none;  

}  

li:nth-last-child(3) {  

   display: none;  

}  


5. nth-of-type(숫자) 선택자


h3가 없는 경우 위 nth-child와 비슷한 것 같지만 같은 종류의 태그(type)에 대해서 선택합니다. 즉 부모요소를 기준으로 같은 종류의 요소에 대해서 순서를 정합니다. 이와 반대의 순서로 선택하려면 nth-of-last-type을 사용합니다. 현재의 상황에서 li 태그 중 첫번째를 선택하려면 다음과 같이 합니다. nth-of-type(1)대신에 first-of type을 사용할 수 있고 마지막은 last-of-type입니다.


li:nth-of-type(1) {  

   display: none;  

}  


 태그의 종류가 뒤섞여 있다면 같은 종류만을 기준으로 순서를 정합니다. 현재 html에는 p 태그가 두개 있는데 아래처럼 하면 두번째 p 태그가 선택됩니다.


p:nth-of-type(2) {  

   display: none;  


CSS-selectors3.zip


loyalty , ,

댓글 (13)

댓글 목록

윰(건즈) access_time

인터넷 검색중 우연히 들어왔어요,,, 저에게 필요한 내용들이 많이 있어서 이렇게 글 남기고 가요... 종종 들러도 되겠죠. ㅎㅎ

베누시안 access_time

안녕하세요. 반갑습니다. 언제든 오셔서 글을 보셔도 됩니다. 댓글 감사합니다.

access_time

비밀댓글입니다

베누시안 access_time

안녕하세요. 자세한 디자인이나 내용을 이메일로 보내주시면 감사하겠습니다. martian36@naver.com

ella access_time

호기심많은VIP님 블로그에서 자주뵙고 들어와 봅니다.
배울께 참 많은거 같네요!

또 놀러와서 차근차근 배워가야겠어요 ㅎ

좋은하루보내세요 ^^

베누시안 access_time

안녕하세요. 좋게 봐주셔서 감사합니다.

메리앤 access_time

오늘도 잘 배우고 갑니다.
날씨가 다시 추워지지만 좋은 하루 되시기 바랍니다~. ^^;

베누시안 access_time

안녕하세요. 메리앤님 제가 바쁘다보니 댓글도 늦게 달고 그러네요. 찾아주셔서 감사합니다.

access_time

비밀댓글입니다

베누시안 access_time

안녕하세요. 답변 드렸는데 못보셨나보군요. 이전 댓글의 내용은 다음과 같습니다. ->테마는 특성이 있어서 잘 안되는 경우도 있더군요. 그런 메시지를 처음 보는 것이라서 구글 검색해보니 전혀 나오지 않더군요. 해당 사이트에 문의를 하시는 것이 좋을 듯합니다.

텐션 access_time

워드프레스에 한창 꼽혔을때 정말 자주 왔었는데;;; 한동안 찾지를 못했네요.
지금은 제 능력을 알아보고 티스토리만 열심히 하는중입니다.^^;;
즐거운 하루 되세요.

베누시안 access_time

안녕하세요. 댓글 감사합니다. 좋은 주말 되세요.

닥포 access_time

안녕하세요.. 닥포입니다.. 요즘한창 블로그 공부 중인데.. 좋은 자료가 많네요.. 알기 쉽게 설명해주셔서 감사합니다..^^

Here is our team

Thumbnail Image

Gigi Hadid
Model

You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.

Thumbnail Image

Christian Louboutin
Designer

You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.

Thumbnail Image

Kendall Jenner
Model

You can write here details about one of your team members. You can give more details about what they do. Feel free to add some links for people to be able to follow them outside the site.