코드 그라데이션

12. 속성 선택자 본문

Front/Mega-CSS

12. 속성 선택자

완벽한 장면 2023. 5. 16. 22:49

특정 속성이 있는 요소를 선택하는 [속성] 선택자

  • 속성값에 따라 원하는 요소를 선택할 수 있다.
  • 대괄호 사이에 원하는 속성을 입력하면 된다.

ex. a 요소 중에서 href 속성이 있는 요소 선택하기

 

예제

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>속성 선택자Test</title>
<style>
   ul {
		 list-style:none;
   }
	 li {
		 width:150px;	 
		 display:inline-block;
		 margin:20px;
	 }
		li a {
			padding: 5px 20px;
			font-size: 24px;
			text-decoration: none;
			font-weight: bold;
		}
	 a[href] {
         color: olivedrab;
		 background:blue;
		 border:1px solid red;
		 font-weight:normal;
	 }
</style>
</head>

<body>
	<ul>
		<li><a>메인 : </a></li>
		<li><a href="#">1</a></li>
		<li><a href="#">2</a></li>
		<li><a href="#">3</a></li>
		<li><a href="#">4</a></li>
        <li><a>5</a></li>
	</ul>
  </body>
 </html>

 

실행 결과

 

 

[속성 = 속성값] 선택자 : 특정 속성값이 있는 요소를 선택

  • 주어진 속성과 속성값이 일치하는 요소를 찾아 스타일을 적용할 때 사용

ex. a 요소 중에서 target 속성값이 '_blank' 인 것만 선택하기

 

예제 - 새 탭으로 열리는 링크에만 아이콘 추가하기

<!doctype html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>속성 선택자</title>
	<style>
		ul { 
			list-style: none;
		}
		li {
			padding: 5px 30px;
		}
		li a {
			font-size: 16px;
			text-decoration: none;
			color: #000;
		}
		a[target="_blank"] {
		padding-right: 30px;
		background: url(images/newwindow.png) no-repeat center right;
		}
	</style>
</head>
<body>
	<ul>
		<li><a href="hhttps://html.spec.whatwg.org" target="_blank">HTML</a></li>
		<li><a href="https://www.w3.org/TR/selectors">CSS Selector Level 3</a></li>
		<li><a href="https://www.w3.org/TR/css3-mediaqueries">미디어쿼리</a></li>		
	</ul>
</body>
</html>

 

실행 결과

 

 

[속성 ~= 값] : 여러 값 중에서 특정 속성값이 포함된 속성 요소를 선택

  • 속성이 하나면서 속성값이 여러 개일 때 특정 속성값을 찾는 데 편리

ex. class 값 중에 button이 있는 요소

 

예제 - class 속성값에 button이 지정되어 있을 때만 메뉴 항목에 그림자가 나타남.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>속성 선택자 Test2</title>
<style>
   ul { list-style:none; }
	 li {
		 display:inline-block;
		 margin:10px;
	  }
		li a {
			padding: 5px 20px;
			font-size: 14px;
			color: blue;
			text-decoration: none;
		}
		.flasdft {
      background:#eee;
      border:1px solid #222;
		}
		a[class ~="button"] {           
      box-shadow:rgba(0,0,5,0.5) 4px 4px; /* 그림자 지정 */
      border-radius: 10px;  /* 테두리를 둥글게 */
      border:1px solid blue;
		}
</style>
</head>
<body>
	<ul>
		<li><a href="#" class="flasdft">메뉴 1</a></li>
		<li><a href="#" class="flasdft">메뉴 2</a></li>
		<li><a href="#" class="button">메뉴 3</a></li>
		<li><a href="#" class="flasdft button" >메뉴 4</a></li>
	</ul>
  </body>
 </html>

실행 결과

 

 

[속성 |= 값] : 특정 속성값이 포함된 속성 요소를 선택

  • 특정 속성값이 포함된 속성에 스타일을 적용
  • 이 때 속성값은 한 단어로 일치해야 한다.
  • [속성 ~= 값] 은 하이픈으로 연결한 단어에 스타일을 적용하지 않지만
  • [속성 |= 값] 은 지정한 값과 정확하게 일치하거나, 지정한 값을 포함해서 하이픈으로 연결된 단어도 선택.

ex. title 속성값에 us 가 있거나 us- 로 연결된 속성값이 있는 요소를 찾기

 

예제 - 속성값에 따라 아이콘 다르게 표시하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>속성 선택자 Test3</title>
<style>
   ul { list-style:none; }
	 li {
		 display:inline-block;
		 margin:10px;
	 }
		li a {
			padding: 5px 20px;
			font-size: 14px;
			color: blue;
			text-decoration: none;
		}
	a[title |= "abc"] {  /* 속성값이 "abc"이거나 "abc-"로 시작하는 요소를 찾는 선택자 */
		background: url(../Day05/images/안녕.jpg) no-repeat left center;
        background-size: 10px;
	}
	a[title |= "def"] {  /* 속성값이 "def"이거나 "def-"로 시작하는 요소를 찾는 선택자 */
		background: url(../Day07/images/LCD.png) no-repeat left center;
        background-size: 10px;
	}
	a[title |= "yxz"] {  /* 속성값이 "yxz"이거나 "yxz-"로 시작하는 요소를 찾는 선택자 */
		background: url(../Day07/images/pandas.jpg) no-repeat left center;
        background-size: 10px;
	}
</style>
</head>

 

실행 결과

 

 

 

[속성 ^= 값] : 특정 속성값으로 시작하는 속성 요소를 선택

  • 속성값이 정확하게 일치하지 않더라도 지정한 속성값으로 시작하는 요소를 찾을 때
  • ex. eng로 시작 => eng, england, english 모두 해당하게 됨.

title 속성값이 eng로 시작하는 a요소 찾기

 

예제

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>속성 선택자 Test3</title>
<style>
   ul { list-style:none; }
	 li {
		 display:inline-block;
		 margin:10px;
	 }
		li a {
			padding: 5px 20px;
			font-size: 14px;
			color: blue;
			text-decoration: none;
		}
	a[title ^= "abc"] {  /* 속성값이 abc로 시작하는 요소를 찾는 선택자 */
		background: url(../Day05/images/안녕.jpg) no-repeat left center;
        background-size: 10px;
	}
	a[title ^= "def"] {  /* 속성값이 def로 시작하는 요소를 찾는 선택자 */
		background: url(../Day07/images/LCD.png) no-repeat left center;
        background-size: 10px;
	}
	a[title ^= "yxz"] {  /* 속성값이 yxz로 시작하는 요소를 찾는 선택자 */
		background: url(../Day07/images/pandas.jpg) no-repeat left center;
        background-size: 10px;
	}
</style>
</head>

<body>
	<ul>
		<li><a href="#" title="abcenglish">E</a></li>
		<li><a href="#" title="defdadassadasd">J</a></li>
		<li><a href="#" title="yxzvcxxcvxzcv">C</a></li>
	</ul>
</body>
 </html>

 

 

실행 결과

 

 

[속성 $= 값] : 특정 속성값으로 끝나는 속성 요소를 선택

ex. 링크한 파일 이름의 마지막 단어가 xls 인 요소 찾기

 

[속성 *= 값] : 일부 속성값이 일치하는 요소를 선택

  • 어느 위치에 속성값이 있든지 지정한 속성값이 포함되어 있다면 해당 요소를 선택

ex. 링크한 파일 이름의 마지막 단어가 xls 인 요소 찾기

 

 

예제 - 두 개 합침

- href에 링크된 파일의 확장자, 즉 파일 이름의 마지막 속성값을 체크한 후 파일 형식에 맞는 아이콘을 파일 이름 옆에 표시

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>속성 선택자Test5</title>
<style>
   ul {
		 list-style:none;
   }
		li a {
			line-height:30px;
			font-size: 20px;
			color: red;
			text-decoration: none;
		}
	a[href$=hwp] { /* 연결한 파일의 확장자가 hwp인 링크 */
		background: url(images/hwp_icon.gif) center right no-repeat; 
        /* 배경으로 hwp 아이콘 표시 */
		padding-right: 25px; 
        /* 아이콘을 표시할 수 있도록 오른쪽에 25px 여백 */
	}

	a[href$=xls] { /* 연결한 파일의 확장자가 excel인 링크 */
		background: url(images/excel_icon.gif) center right no-repeat; 
        /* 배경으로 excel 아이콘 표시 */
		padding-right: 25px; 
        /* 아이콘을 표시할 수 있도록 오른쪽에 25px 여백 */
	}
    a[href*=na]{
        background-color: aquamarine;
    }
</style>
</head>

<body>
	<ul>
		<li><a href="intro.hwp">hwp </a></li>
		<li><a href="intro.xls">excel</a></li>
        <li><a href="https://www.naver.com">naver</a></li>
        <li><a href="https://www.daum.net">daum</a></li>
	</ul>
  </body>
 </html>

 

실행 결과

 

최종정리

 

728x90

'Front > Mega-CSS' 카테고리의 다른 글

14. 변형  (1) 2023.06.03
13. 가상 클래스와 가상 요소  (0) 2023.05.17
11. 연결 선택자  (0) 2023.05.15
10. 색 그라데이션  (0) 2023.05.14
9. 배경색과 배경 이미지  (0) 2023.05.14
Comments