一、css的簡介
1、什麼是css
層疊樣式表,css是對html進行樣式修飾語言
層疊:就是層層覆寫疊加,如果不同的css樣式對同一html标簽進行修飾,樣式
有沖突
的部分應用
優先級高
的,
不沖突
的部分
共同作用
樣式表:就是css屬性樣式的
集合
2、css的作用
- (1)修飾html的 使其html樣式更加好看
- (2)提高樣式代碼的複用性
- (3)html的内容與樣式相分離 便于後期維護
3、css的引入方式和書寫規範
(1)内嵌樣式
内嵌樣式是把css的代碼嵌入到html标簽中
<div style="color:red;font-size: 100px;">你好啊 小朋友</div>
文法:
(1)使用style屬性将樣式嵌入到html标簽中
(2)屬性的寫法:屬性:屬性值
(3)多個屬性之間使用分号;隔開
不建議使用
(2)内部樣式
在head标簽中使用style标簽進行css的引入
<style type="text/css">
div{color:red;font-size: px;}
</style>
文法:
(1)使用style标簽進行css的引入
(3)外部樣式
将css樣式抽取成一個單獨css檔案 誰去使用誰就引用
<link rel="stylesheet" type="text/css" href="demo1.css" target="_blank" rel="external nofollow" />
文法:
(1)建立css檔案 将css屬性寫在css檔案中
(2)在head中使用link标簽進行引入
<link rel="stylesheet" type="text/css" href="css檔案位址" target="_blank" rel="external nofollow" />
rel:代表要引入的檔案與html的關系
type:告知浏覽器使用css解析器去解析
href:css檔案位址
(3)屬性的寫法:屬性:屬性值
(4)多個屬性之間使用分号;隔開
(4)@import方式
<style type="text/css">
@import url("css位址");
</style>
link與@import方式的差別:
(1)link所有浏覽器都支援 import部分低版本IE不支援
(2)import方式是等待html加載完畢之後在加載
(3)import方式不支援js的動态修改
二、css選擇器
1、基本選擇器
(1)元素選擇器
文法:html标簽名{css屬性}
示例:
<span>hello css!!!</span>
<style type="text/css">
span{color:red;font-size:px; }
</style>
(2)id選擇器 id唯一性
文法:#id的值{css屬性}
示例:
<div id="div1">hello css1!!!</div>
<div id="div2">hello css2!!!</div>
<style type="text/css">
#div1{background-color: red;}
#div2{background-color: pink;}
</style>
(3)class選擇器
文法:.class的值{css屬性}
示例:
<div class="style1">div1</div>
<div class="style1">div2</div>
<div class="style2">div3</div>
<style type="text/css">
.style1{background-color: red}
.style2{background-color: pink}
</style>
選擇器的優先級:id>class>元素
2、屬性選擇器
文法:基本選擇器[屬性=‘屬性值’]{css屬性}
示例:
<form action="">
name:<input type="text" /><br/>
pass:<input type="password" /><br/>
</form>
<style type="text/css">
input[type='text']{background-color: yellow}
input[type='password']{background-color: pink}
</style>
3、僞元素選擇器
a标簽的僞元素選擇器
文法:
靜止狀态 a:link{css屬性}
懸浮狀态 a:hover{css屬性}
觸發狀态 a:active{css屬性}
完成狀态 a:visited{css屬性}
示例:
<a href="#">點選我吧</a>
<style type="text/css">
a:link{color:blue}
a:hover{color:red}
a:active{color:yellow}
a:visited{color:green}
</style>
4、層級選擇器
文法:父級選擇器 子級選擇器 …..
示例:
<div id="d1">
<div class="dd1">
<span>span1-1</span>
</div>
<div class="dd2">
<span>span1-2</span>
</div>
</div>
<div id="d2">
<div class="dd1">
<span>span1-1</span>
</div>
<div class="dd2">
<span>span1-2</span>
</div>
</div>
<style type="text/css">
#d1 .dd2 span{color:red}
</style>
三、css屬性
1、文字屬性
font-size:大小
font-family:字型類型
2、文本屬性
color:顔色
text-decoration:下劃線
屬性值:none underline
text-align:對齊方式
屬性值:left center right
<div>hello css!!!</div>
<a href="#" target="_blank" rel="external nofollow" >click me!!!</a>
<style type="text/css">
div{color:red;text-decoration: underline;text-align: right }
a{text-decoration: none;}
</style>
3、背景屬性
background-color:背景顔色
background-image:背景圖檔
屬性值:url("圖檔位址");
background-repeat:平鋪方式
屬性值:預設橫向縱向平鋪
repeat:橫向縱向平鋪
no-repeat:不平鋪
repeat-y:縱向
repeat-x:橫向
body{
background-color: black;
background-image: url("images/dog.gif");
background-repeat: repeat-y;
}
4、清單屬性
list-style-type:清單項前的小标志
屬性值:太多了
list-style-image:清單項前的小圖檔
屬性值:url("圖檔位址");
<ul>
<li>黑馬程式員</li>
<li>黑馬程式員</li>
<li>黑馬程式員</li>
<li>黑馬程式員</li>
</ul>
<style type="text/css">
/* ul{list-style-type: decimal-leading-zero;} */
ul{list-style-image: url("images/forward.gif");}
</style>
5、尺寸屬性
width:寬度
height:高度
<div id="d1">div1</div>
<div id="d2">div2</div>
<style type="text/css">
#d1{background-color: red;width: 200px;height: 200px;}
#d2{background-color: pink;width: 200px;height: 200px;}
</style>
6、顯示屬性
display:
屬性值:none:隐藏
block:塊級顯示
inline:行級顯示
<form action="">
name:<input id="name" type="text" /><span id="span">對不起 輸入不符合要求</span>
<br>
pass:<input id="pass" type="password" />
<br>
<input id="btn" type="button" value="button" />
</form>
<style type="text/css">
span{color:red;display: none}
</style>
<script type="text/javascript">
document.getElementById("btn").onclick = function(){
document.getElementById("span").style.display = "inline";
};
</script>
7、浮動屬性
float:
屬性值:left right
clear:清除浮動 left right both
缺點: (1)影響相鄰元素不能正常顯示
(2)影響父元素不能正常顯示
四、css盒子模型
border:
border-width:邊框的寬度
border-color:邊框的顔色
border-style:邊框的線型
border-top:上邊框
border-bottom:下邊框
border-left:左邊框
border-right:右邊框
padding:
代表邊框内壁與内部元素之間的距離
padding:10px;代表上下左右都是10px
padding:1px 2px 3px 4px;上右下左
padding:1px 2px;上下/左右
padding:1px 2px 3px;
padding-top:單獨設定
margin:
代表邊框外壁與其他元素之間的距離
margin:10px;代表上下左右都是10px
margin:1px 2px 3px 4px;上右下左
margin:1px 2px;上下/左右
margin:1px 2px 3px;
margin-top:單獨設定