Cascading Style Sheets层叠样式表
层叠:就是层层覆盖叠加,如果有多种样式对同一html标签进行修饰,样式有冲突的部分应用优先级高,不冲突的部分共同作用
样式表:就是css属性样式的集合
-
CSS的作用
1. 对html页面进行美化和修饰
2. 将html的内容和样式进行了分离,让文档看起来更清晰
3. 提高代码复用性
1. CSS的选择器(三种)
一,基本选择器(三种)
1.ID选择器
(1)id选择器 id唯一性语法:#id的值{css属性}#ID{属性名称:属性的值
}
示例:<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>2.类选择器
(2)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>3.元素选择器
(3)元素选择器
语法:html标签名{css属性}格式:
元素(标签名称){属性名称:属性的值
}
示例:<span>hello css!!!</span><style type="text/css">span{color:red;font-size:100px; }</style>
二,属性选择器
语法:基本选择器[属性=‘属性值’]{css属性}
示例:
<form action="">
name:<input type="text" /><br/>
pass:<input type="password" /><br/>
</form>
<style type="text/css">
input[type='text']{ overflow: visible; font-family: inherit; font-size: inherit; white-space: pre-wrap; border-radius: 0px; border-top- 0px; border-bottom- 0px; border-left- 0px; margin: 0px; word-wrap: break-word; color: inherit; z-index: 2; position: relative; word-break: normal; border-right-style: none; inherit; padding: 0px 4px; background: transparent;"> input[type='password']{ overflow: visible; font-family: inherit; font-size: inherit; white-space: pre-wrap; border-radius: 0px; border-top- 0px; border-bottom- 0px; border-left- 0px; margin: 0px; word-wrap: break-word; color: inherit; z-index: 2; position: relative; word-break: normal; border-right-style: none; inherit; padding: 0px 4px; background: transparent;"> </style>
三,伪元素选择器
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>
四,层级选择器
语法:父级选择器 子级选择器 .....
示例:
<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>
2. 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: 100px;}
</style>
语法:
(1)使用style标签进行css的引入
<style type="text/css">
属性:type:告知浏览器使用css解析器去解析
(2)属性的写法:属性:属性值
(3)多个属性之间使用分号;隔开
3.外部样式
将css样式抽取成一个单独css文件 谁去使用谁就引用
<link rel="stylesheet" type="text/css" href="demo1.css"/>
语法:
(1)创建css文件 将css属性写在css文件中
(2)在head中使用link标签进行引入
<link rel="stylesheet" type="text/css" href="css文件地址"/>
rel:代表要引入的文件与html的关系
type:告知浏览器使用css解析器去解析
href:css文件地址
(3)属性的写法:属性:属性值
(4)多个属性之间使用分号;隔开
优先级:ID选择器>类选择器>元素选择器
三,css属性
-
文字属性
font-size:大小
font-family:字体类型
-
文本属性
color:颜色
text-decoration:下划线属性值:none(去除下划线) underlinetext-align:对齐方式属性值:left center right<div>hello css!!!</div><a href="#">click me!!!</a><style type="text/css">div{color:red;text-decoration: underline;text-align: right }a{text-decoration: none;}</style> -
背景属性
background-image:背景图片
属性值:url("图片地址");background-repeat:平铺方式属性值:默认横向纵向平铺repeat:横向纵向平铺no-repeat:不平铺repeat-y:纵向repeat-x:横向body{background-image: url("images/dog.gif");background-repeat: repeat-y;} -
列表属性
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>
-
尺寸属性
宽度
height:高度<div id="d1">div1</div><div id="d2">div2</div><style type="text/css">#d1{background-color: red; 200px;height: 200px;}#d2{background-color: pink; 200px;height: 200px;}</style>
-
显示属性
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>
-
浮动属性(float)
<div style="400px;height: 400px;border: 1px solid red;"><div style=" 100px;float: left; height: 100px;border: 1px solid blue;"></div><div style="clear: both;"></div><div style=" 110px;height: 100px;border: 1px solid yellow;"></div><div style=" 120px;height: 100px;border: 1px solid green;"></div></div>float:
属性值:left rightclear:清除浮动 left right both缺点: (1)影响相邻元素不能正常显示(2)影响父元素不能正常显示text-decoration-none去掉下划线
四,盒子模型
border:
border-边框的宽度
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:单独设置