日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

CSS樣式中選擇器+盒子模型+定位+浮動

作者:雨霖先森 更新時間: 2022-11-14 編程語言

CSS樣式中選擇器+盒子模型+定位+浮動

一、選擇器

選擇器,選擇你所需要修飾的HTML元素

1.通配符選擇器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
						/*
			 * 通配符選擇器:選擇html文檔中所有的標簽
			 */
			
			*{
				color: red;
			}
		</style>
	</head>
	<body>
				
		<h1>一級標簽</h1>
		<h2>二級標簽</h2>
		<h3>三級標簽</h3>
		<h4>四級標簽</h4>
		<h5>五級標簽</h5>
		<h6>六級標簽</h6>
		
		<p>用真心待她人</p>
		<p>做美麗的自己</p>
	</body>
</html>

2.標簽選擇器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*
			 * 標簽選擇器
			 */
			p{
				color: red;
			}
			
			/*
			 * class選擇器
			 * 注意:以.開頭
			 */
			.myclass{
				color: green;
			}
			
			/*
			 * id選擇器
			 * 注意:
			 * 		1.以#開頭
			 * 		2.潛規則:id是唯一的
			 */
			#myid{
				color: blue;
			}
		</style>
	</head>
	<body>
		
		<h1 class="myclass">一級標簽</h1>
		<h2>二級標簽</h2>
		<h3 class="myclass">三級標簽</h3>
		<h4>四級標簽</h4>
		<h5 class="myclass">五級標簽</h5>
		<h6 id="myid">六級標簽</h6>
		
		<p>用真心待她人</p>
		<p>做美麗的自己</p>
	</body>
</html>

3.基本選擇器的優先級別

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			/*
			 * 基本選擇器的優先級別:ID選擇器>CLASS選擇器>標簽選擇器
			 */
			
			p{
				color: red;
			}
			
			.myclass{
				color: green;
			}
			
			#myid{
				color: blue;
			}
		</style>
	</head>
	<body>

		<p id="myid" class="myclass">用良心做教育</p>
		
	</body>
</html>

4.群組選擇器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*
			 * 群組選擇器
			 */
			
			h1,h3,h5,p{
				color: red;
			}
		</style>
	</head>
	<body>
		
		<h1>一級標簽</h1>
		<h2>二級標簽</h2>
		<h3>三級標簽</h3>
		<h4>四級標簽</h4>
		<h5>五級標簽</h5>
		<h6>六級標簽</h6>
		
		<p>用真心待她人</p>
		<p>做美麗的自己</p>
	</body>
</html>

5.派生選擇器/上下文關系選擇器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*
			 * 派生選擇器/上下文關系選擇器
			 * 
			 * 	后臺選擇器
			 * 		ul a{
						color: red;
					}
					
				子代選擇器
					li>a{
						color: red;
					}
					
				相鄰兄弟選擇器
					注意:效果作用于后者
					a+a{
						color: red;
					}
			 */

		</style>
	</head>
	<body>
		
		<ul>
			<li>
				<a href="#">超鏈接1</a>
			</li>
			<li>
				<a href="#">超鏈接2</a>
			</li>
			<li>
				<a href="#">超鏈接3</a>
			</li>
		</ul>
		
		<ul>
			<li>
				<a href="#">超鏈接4</a>
			</li>
			<li>
				<a href="#">超鏈接5</a>
			</li>
			<li>
				<a href="#">超鏈接6</a>
			</li>
			<li>
				<a href="#">超鏈接7</a>
			</li>
		</ul>
		
		<a href="#">超鏈接8</a>
		<a href="#">超鏈接9</a>
		<a href="#">超鏈接10</a>
		<a href="#">超鏈接11</a>
		<a href="#">超鏈接12</a>
	</body>
</html>

6.屬性選擇器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			/*
			 * 	屬性選擇器 --- 單個屬性
			 * 		input[placeholder]{
						color: red;
					}
				
				屬性選擇器 --- 單個屬性+值	
					input[type=password]{
						color: red;
					}
					
				屬性選擇器 --- 多個屬性
					input[type][placeholder]{
						color: red;
					}
					
				屬性選擇器 --- 多個屬性+值
					input[type=password][name=repassword]{
						color: red;
					}
			 */
			
			
			
		</style>
	</head>
	<body>
		
		<form action="服務器地址" method="post">
			
			賬號:<input name="username" type="text" placeholder="請輸入賬號"/><br />
			密碼:<input name="password" type="password" placeholder="請輸入密碼"/><br />
			確認密碼:<input name="repassword" type="password" placeholder="請輸入確認密碼"/><br />
			性別:
				<input type="radio" name="sex" value="man" checked="checked"/><input type="radio" name="sex" value="woman"/><br />
			愛好:
				<input type="checkbox" name="hobbys" value="football"/>足球
				<input type="checkbox" name="hobbys" value="basketball"/>籃球
				<input type="checkbox" name="hobbys" value="shop"/>購物
				<br />
			籍貫:
				<select name="province">
					<option value="sc">四川</option>
					<option value="hn" selected="selected">湖南</option>
					<option value="hb">湖北</option>
				</select><select name="city">
					<option value="cs">長沙</option>
					<option value="yy">岳陽</option>
					<option value="xy" selected="selected">襄陽</option>
					<option value="ld">婁底</option>
					<option value="yz">永州</option>
				</select><br />
			
			<input type="submit" value="注冊" />
			
		</form>
		
	</body>
</html>

7.樣式的優先級別

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
		<!--
			樣式的優先級別:行內樣式 > 內部樣式和外部樣式
			注意:內部樣式和外部樣式看加載順序
        -->
		
		<!--內部樣式-->
		<style type="text/css">
			p{color: red;}
		</style>
		
		<!--外部樣式-->
		<link rel="stylesheet" href="../css/new_file.css" />
	</head>
	<body>
		
		<!--行內樣式-->
		<p style="color: blue;">用良心做教育</p>
		
	</body>
</html>

8.錨偽類

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
		<style type="text/css">
			a:link {color: #66CCFF}	/* 未訪問的鏈接 */
			a:visited {color: #CC0000}	/* 已訪問的鏈接 */
			a:hover {color: #33FFFF}	/* 鼠標移動到鏈接上 */
			a:active {color: #9900FF}	/* 選定的鏈接 */
		</style>
	</head>
	<body>
		
		<a >新浪微博</a>
		
	</body>
</html>

9.常用屬性

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			p{
				font-family: "微軟雅黑";/*字體*/
				font-size: 30px;/*大小*/
				/*
				 *    ---- normal標準樣式
                      ---- italic斜體
                      ---- oblique傾斜
                      ---- inherit從父類繼承的字體樣式
                 */     
				font-style: oblique;/*風格*/
				 /*
				      ----normal標準樣式
                      ----bold粗體
                      ----bolder更粗
                      ----lighter更細
                  */       
				font-weight: bolder;/*字體加粗*/ 
				
				letter-spacing: 20px;/*字符間隔*/
				text-decoration: underline;/*添加劃線*/
				text-align: center;/*字體居中*/
				
				background-color: red;/*背景*/ 
				color: white;
				
				/*
				 * 邊框
			                               屬性名稱
			                   border-bottom
				                 solid(實線)
				                 dashed(虛線)
				                 double(雙實線)
				*/                 
				border:orange 10px solid;/*邊框:顏色、粗細、實線*/
				
			}
			
			
		</style>
	</head>
	<body>
		
		<p>用良心做教育</p>
		
		
	</body>
</html>

二、盒子模型

CSS 框模型 (Box Model) 規定了元素框處理元素內容、內邊距、邊框 和 外邊距 的方式

瀏覽器兼容性
一旦為頁面設置了恰當的 DTD,大多數瀏覽器都會按照上面的圖示來呈現內容。然而 IE 5 和 6 的呈現卻是不正確的。根據 W3C 的規范,元素內容占據的空間是由 width 屬性設置的,而內容周圍的 padding 和 border 值是另外計算的。不幸的是,IE5.X 和 6 在怪異模式中使用自己的非標準模型。這些瀏覽器的 width 屬性不是內容的寬度,而是內容、內邊距和邊框的寬度的總和。
雖然有方法解決這個問題。但是目前最好的解決方案是回避這個問題。也就是,不要給元素添加具有指定寬度的內邊距,而是嘗試將內邊距或外邊距添加到元素的父元素和子元素。
為了兼容IE老版本,一句話,能用外邊距就用外邊距

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			div{
				width: 200px;
				height: 200px;
				border: red 1px solid;
				
				/*padding: 50px;設置上下左右內邊距*/
				/*padding-top: 20px;設置頂部內邊距*/
				/*padding-bottom: 20px;設置底部內邊距*/
				/*padding-left: 20px;設置左邊內邊距*/
				/*padding-right: 20px;設置右邊內邊距*/
				
				/*margin: 50px;設置上下左右外邊距*/
				margin-top: 20px;/*設置頂部外邊距*/
				margin-bottom: 20px;/*設置底部外邊距*/
				margin-left: 20px;/*設置左邊外邊距*/
				margin-right: 20px;/*設置右邊外邊距*/
                
                /*margin: 0 auto;水平居中*/
			}
			
		</style>
	</head>
	<body>
		
		<div>
			<span>元素</span>
		</div>
		
	</body>
</html>

三、定位

CSS 定位 (Positioning) 屬性允許你對元素進行定位。
定位的基本思想很簡單,它允許你定義元素框相對于其正常位置應該出現的位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身的位置。

CSS 定位機制
CSS 有三種基本的定位機制:普通流、浮動和絕對定位。
除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。
塊級框從上到下一個接一個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。

1.相對定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			#manager{
				border: orange 1px solid;
				
				margin-top: 50px;
			}
			
			#box01{
				width: 100px;
				height: 100px;
				border: red 1px solid;
			}
			
			#box02{
				width: 100px;
				height: 100px;
				border: green 1px solid;
				
				position: relative;/*相對定位:保留原來的位置,相對于原來的位置進行位移*/
				left: 30px;
				top: 30px;
			}
			
			#box03{
				width: 100px;
				height: 100px;
				border: blue 1px solid;
			}
			
		</style>
	</head>
	<body>
		
		<div id="manager">
			<div id="box01"></div>
			<div id="box02"></div>
			<div id="box03"></div>
		</div>
		
	</body>
</html>

2.絕對定位

絕對定位相對于他有position屬性的父級元素進行定位,如果父級元素沒有postion定位,那么就找父級的父級,直到向上找到position定位為止,如果他向上找不到position定位,那么就以最外層的body進行定位。

并且絕對定位不會保留原有的位置空間。

z-index屬性,確定層級大小,用來設定哪一個盒子在上面,越大越在上面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			#manager{
				border: orange 1px solid;
				
				margin-top: 50px;
				
				position: relative;
			}
			
			#box01{
				width: 100px;
				height: 100px;
				border: red 1px solid;
			}
			
			#box02{
				width: 100px;
				height: 100px;
				border: green 1px solid;
				
				position: absolute;/*絕對定位:不保留原來的位置,向上去找尋父級標簽,查看父級標簽是否有position屬性,如果有就按照父級標簽位置進行位移,如果沒有就繼續向上找尋,直到body位置*/
				left: 30px;
				top: 30px;
			}
			
			#box03{
				width: 100px;
				height: 100px;
				border: blue 1px solid;
			}
			
		</style>
	</head>
	<body>
		
		<div id="manager">
			<div id="box01"></div>
			<div id="box02"></div>
			<div id="box03"></div>
		</div>
		
	</body>
</html>

3.固定定位

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#top{
				position: fixed;/*固定定位*/
				top:70%;
				left: 90%;
			}
		</style>
	</head>
	<body>
		
		<a id="top" href="#new01">?</a>
		
		<a href="#new01">法制</a>
		<a href="#new02">國際</a>
		<a href="#new03">教育</a>
		<a href="#new04">娛樂</a>
		
		
        <a name="new01"></a><!--錨點-->
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<h1>法制新聞</h1>
		<a name="new02"></a><!--錨點-->
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<h1>國際新聞</h1>
		<a name="new03"></a><!--錨點-->
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<h1>教育新聞</h1>
		<a name="new04"></a><!--錨點-->
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		<h1>娛樂新聞</h1>
		
	</body>
</html>

四、浮動

浮動可以幫助我們更好進行頁面排版,使原本豎著排列的盒子可以橫向排列起來。

副作用:因為浮動會使元素脫離了標準的文檔流,從而導致父級元素無法被撐開。

解決辦法:添加空盒子

在被浮動的元素后面,添加一個空的div,并且設置一個clear類,并付給該div

.clear{clear:both;}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			#manager{
				border: orange 1px solid;
				
				width: 80%;
				margin: 0 auto;
				padding: 5px;
			}
			
			#box01{
				border: orange 1px solid;
				
				width: 100%;
				height: 150px;
			}
			
			#box02{
				border: orange 1px solid;
				
				width: 25%;
				height: 200px;
				
				float: left;
			}
			#box03{
				border: orange 1px solid;
				
				width: 45%;
				height: 200px;
				
				float: left;
			}
			#box04{
				border: orange 1px solid;
				
				width: 25%;
				height: 200px;
				
				float: left;
				
			}
			
			.myclear{
				clear: both;
			}
			
			
		</style>
	</head>
	<body>
		
		<div id="manager">
			<div id="box01"></div>
			<div>
				<div id="box02"></div>
				<div id="box03"></div>
				<div id="box04"></div>
				<div class="myclear"></div>
			</div>
		</div>
		
	</body>
</html>

五、擴展

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			
			body{
				background: url(../img/漸變色.jpg) center top repeat-x #EAF4FF;
			}
			
			input{
				width: 100px;
				height: 50px;
				color: white;
				font-weight: bolder;
				background-color: orange;
				border-radius: 15px;/*圓角屬性*/
				box-shadow: 10px 10px 5px gainsboro;/*添加按鈕陰影 X軸偏移量 Y軸偏移量 陰影模糊半徑*/
				text-shadow: 5px 5px 5px black;/*添加文本陰影 X軸偏移量 Y軸偏移量 陰影模糊半徑*/
			}
			
		</style>
	</head>
	<body>
		
		<input type="button" value="普通按鈕" />
	</body>
</html>

六、新增語義化標簽

標簽 描述
頭部標簽
導航標簽
內容標簽
塊級標簽
側邊欄標簽
尾部標簽
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<style type="text/css">
            header,nav,article,aside,footer,section{
                background-color: #87A442;
                text-align: center;
                border: black 1px solid;
                border-radius:20px;
                margin: 10px;
                padding: 10px;
            }

            header{
                height: 120px;
            }

            nav{
                height: 50px;
            }

            article{
                width: 46%;
                height: 120px;
                float: left;
            }

            aside{
                width: 46%;
                height: 120px;
                float: right;yu
            }

            footer{
                clear: both;
                height: 120px;
            }

            section{
                height: 70px;
            }
		
	</style>
	<header>頭部標簽 - header</header>
	<nav>導航標簽 - nav</nav>
	<div>
		<article>內容標簽 - article
			<section>塊級標簽 - section</section>
		</article>
		<aside>側邊欄標簽 - aside</aside>
	</div>
	<footer>尾部標簽 - footer</footer>
	</body>
</html>

原文鏈接:https://blog.csdn.net/GL280599ZL/article/details/127837958

欄目分類
最近更新