1. 程式人生 > >CSS3 高階選擇器

CSS3 高階選擇器

高階選擇器:

   1>層次選擇

   2>結構偽類選擇

   3>屬性選擇器

詳細介紹這幾個選擇器:

 層次選擇

  

 頁面:

<body>
		<!--格式化程式碼:ctrl+shift+F-->
		<h2>兄弟</h2>
		<p>1</p>
		<!-- 為了說明相鄰兄弟選擇器,在此處新增一個類名active -->
		<p>2</p>
		<p>3</p>
		<ul>
			<li>
				<p>張三</p>
			</li>
			<li>
				<p>李四</p>
			</li>
			<li>
				<p>王五</p>
			</li>
		</ul>
	</body>
/*後代選擇器:孩子的孩子...*/
body p{
	 /*border: 1px solid red;*/
}

/*子選擇器:body的孩子*/
body>p{
	/*border: 1px solid blue;*/
}

/*相鄰兄弟選擇器:比較近的兄弟*/
h2+p{
	/*border: 2px solid yellowgreen;*/
}


/*通用兄弟選擇器:找到p遠近兄弟*/
h2~p{
	border: 5px solid chocolate;
}

效果:

結構偽類選擇

頁面:

<body>
		<p>1</p>
		<p>2</p>
		<p>3</p>
		<ul>
			<li>
				<p>張三0</p>
			</li>
			<li>
				<p>李四1</p>
			</li>
			<li>
				<p>王五2</p>
			</li>
			<li>
				<p>熊大3</p>
			</li>
		</ul>
	</body>
/*E:first-child :找父的第一個孩子 */

/*注意:不能用body作為父*/
li:first-child{
	border: 2px solid darkcyan;
}

/*E:first-child :找父的最後一個孩子 */

li:last-child{
	border: 2px solid brown;
}

/*E F:nth-child(n): 找到父的孩子第幾個
   odd:奇數 ,even:偶數(從1開始數)
 */
/*ul li:nth-child(odd){*/
ul li:nth-child(3){
	/*background-color: coral;*/
}

/*E:first-of-type:父級的第一個元素*/
li:first-of-type{
	background: cornflowerblue;
}

/*E:last-of-type:父級的最後一個元素*/
li:last-of-type{
	background: chartreuse;
}

/*E F:nth-of-type(n):找到子孩子的第幾個*/
ul li:nth-of-type(2){
	border: 10px double darkgrey;
}

/*E F:nth-last-of-type(n):子孩子中的倒數第1個同級兄弟*/
li:nth-last-of-type(1){
	border: 5px double red;
}

效果:

屬性選擇器

頁面:

<body>
		<a href="http://www.baidu.com" id="first">1</a>
		<a href="#" title="test website" target="_blank">2</a>
		<a href="sites/file/test.html">3</a>
		<a href="sites/file/test.png" class="links item"> 4</a>
		<a href="sites/file/image.jpg">5</a>
		<a href="efc" title="website link">6</a>
		<a href="/a.pdf">7</a>
		<a href="/abc.pdf">8</a>
		<a href="abcdef.doc">9</a>
		<a href="abd.doc" id="last">10</a>

	</body>
a{
	width: 60px;
	height: 60px;
	border: 0px solid red;
	background: gainsboro;
	display: block;  /*行級轉換成塊級*/
	float: left;   /*浮動*/
	margin: 5px 10px;  /*外邊距*/
	border-radius: 20%;  /* 圓角  */
	text-align: center;  /*水平文字居中*/
	line-height: 55px;  /*垂直居中*/
	font-weight: bolder; /*字型加粗*/
	text-decoration: none; /*去掉下劃線*/
	color:black;  /*字型顏色*/
}


/*E[attr]: E標籤的屬性id*/
a[id]{
	background: mediumaquamarine;
}

/*E[attr=val]:E標籤的屬性href=#*/
a[href='#']{
	background: chocolate;
}


/*E[attr^=val]:E標籤的屬性href的值以s開頭*/
a[href^='s']{
	background: yellowgreen;
}

/*E[attr$=val]:E標籤的屬性href的值以f結尾*/
a[href$='f']{
	background: blueviolet;
}

/*E[attr*=val]:E標籤的屬性href的值包含f所有的*/
a[href*='f']{
	background:coral;
}

效果: