一. css概述
为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表。有了CSS,html中大部分表现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。
二. ss基础语法
选择器 { 属性:值; 属性:值; 属性:值;}
三. css引入方式
1.内联式:通过标签的style属性,在标签上直接写样式。
<div style="width:100px; height:100px; background:red ">......</div>
2.嵌入式:通过style标签,在网页上创建嵌入的样式表。
<style>
div{ width:100px; height:100px; background:red }
</style>
3.外链式:通过link标签,链接外部样式文件到页面中。
<link rel="stylesheet" href="css/main.css">
/* href="路径/文件名" */
四. css选择器
1.标签选择器
标签选择器,此种选择器影响范围大,一般用来做一些通用设置,或用在层级选择器中。
div{color:red}
<div>这是第一个div</div>
<div>这是第二个div</div>
2.类选择器
通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类
.blue{color:blue}
.big{font-size:20px}
.box{width:100px;height:100px;background:gold}
<div class="blue">....</div>
<h3 class="blue big box">....</h3>
<p class="blue box">....</p>
3.层级选择器
主要应用在标签嵌套的结构中,层级选择器,是结合上面的两种选择器来写的选择器,它可与标签选择器结合使用,减少命名,同时也可以通过层级,限制样式的作用范围。
.con span{color:red}
.con .pink{color:pink}
.con .gold{color:gold}
<div class="con">
<span>....</span>
<a href="#" class="pink">....</a>
<a href="#" class="gold">...</a>
</div>
4.id选择器
通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。
#box{color:red}
<p id="box">这是一个段落标签</p>
5.组选择器
多个选择器,如果有同样的样式设置,可以使用组选择器。
.box1,.box2,.box3{width:100px;height:100px}
.box1{background:red}
.box2{background:pink}
.box2{background:gold}
<div class="box1">....</div>
<div class="box2">....</div>
<div class="box3">....</div>
6.伪类选择器
常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态。
.box1:{width:100px;height:100px;background:gold;}
.box1:hover{width:300px;}
五. css的属性
布局常用样式属性:
语法 | 解释 | 例子 |
---|---|---|
width | 设置元素(标签)的宽度, | 如:width:100px; |
height | 设置元素(标签)的高度, | 如:height:200px; |
background | 设置元素背景色或者背景图片, | 如:background:gold; 设置元素背景色为金色 |
border | 设置元素四周的边框, | 如:border:1px solid black; 设置元素四周边框是1像素宽的黑色实线: |
border-top | 设置顶边边框, | 如:border-top:10px solid red; |
border-left | 设置左边边框, | 如:border-left:10px solid blue; |
border-right | 设置右边边框, | 如:border-right:10px solid green; |
border-bottom | 设置底边边框, | 如:border-bottom:10px solid pink; |
border-collapse: | 设置表格边线合并 | 如 :border-collapse:collapse; |
padding | 设置元素包含的内容和元素边框的距离,也叫内边距, | 如padding:20px;padding是同时设置4个边的,也可以像border一样拆分成分别设置四个边:padding-top、padding-left、padding-right、padding-bottom。 |
margin | 设置元素和外界的距离,也叫外边距, | 如margin:20px;margin是同时设置4个边的,也可以像border一样拆分成分别设置四个边:margin-top、margin-left、margin-right、margin-bottom。margin:auto;居中 margin:0px auto;表格水平居中 |
float | 设置元素浮动,浮动可以让块元素排列在一行, | 如:浮动分为左浮动:float:left; 右浮动:float:right; |
文本常用样式:
语法 | 解释 | 例子 |
---|---|---|
color | 设置文字的颜色, | 如: color:red; |
font-size | 设置文字的大小, | 如:font-size:12px; |
font-family | 设置文字的字体, | 如:font-family:‘微软雅黑’;为了避免中文字不兼容,一般写成:font-family:‘Microsoft Yahei’; |
font-weight | 设置文字是否加粗, | 如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗 |
line-height | 设置文字的行高, | 如:line-height:24px; 表示文字高度加上文字上下的间距是24px,也就是每一行占有的高度是24px |
text-decoration | 设置文字的下划线, | 如:text-decoration:none; 将文字下划线去掉 |
text-align | 设置文字水平对齐方式, | 如text-align:center 设置文字水平居中 |
text-indent | 设置文字首行缩进, | 如:text-indent:24px; 设置文字首行缩进24px |
六. css样式:
<style>
/* 样式里的注释,
单行多行都可以 */
.box{
/* 01.设置宽度 */
width:300px;
/* 02.设置高度 */
height:300px;
/* 03.设置背景色 */
background:gold;
/* 04.设置四周边框, 10像素粗细,solid实线,black黑色 */
border: 10px dotted black;
/* 05.线的样式:solid(实线边框)、
dashed(虚线边框)、
dotted(点线边框)、
double(双线边框)、
inset(3D嵌入式边框,效果取决于边框的颜色值)、
outset(3D突出式边框,效果取决于边框的颜色值)、
groove(3D沟槽边框,效果取决于边框的颜色值)、
ridge(3D脊边框,效果取决于边框的颜色值) */
/* 06.边框拆分设置 */
border-top: 10px dotted blue;
/* 07.底部边框:border-bottom
顶部:border-top
左边:border-left
右边:border-right */
border-bottom: 10px ridge red;
border-left:10px solid orange;
border-right:10px solid orchid;
/* 08.设置四个边的内边距 */
padding:20px;
/* 09.设置上下左右的边距
顶边距padding-top
底边距padding-bottom
左边距padding-left
右边距padding-right */
/* 10.设置四个边的外边距 */
margin:100px;
/* 11.外边距拆分设置
顶外边距margin-top
底外边距margin-bottom
左外边距margin-left
右外边距margin-right */
/* 12.设置元素浮动:让块元素排列在一行 left左浮动 right右浮动 */
float:right;
/* 13.设置字体大小 */
font-size:30px;
/* 14.设置字体 */
font-family:'Microsoft YaHei';
/* 15.设置文字是否加粗 bold加粗 normal不加粗 */
font-weight:bold;
/* 16.设置文字行高度 */
line-height:24px;
/* 17.设置文字下划线 none无装饰
blink : 闪烁
underline : 下划线
line-through : 贯穿线
overline : 上划线*/
text-decoration:underline;
/* 18.设置文字水平对齐方式: center居中 left左对齐 right右对齐 justify撑满行 */
text-align:center;
/* 19.设置文字首行缩进 */
text-indent:24px;
}
</style>
七. css显示特性
display属性是用来设置元素的类型及隐藏的,常用的属性有:
1、none 元素隐藏且不占位置
2、inline 元素以行内元素显示
3、block 元素以块元素显示
八. css元素溢出
概念:
当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。
overflow的设置项:
1、visible 默认值。内容不会被修剪,会呈现在元素框之外。
2、hidden 内容会被修剪,并且其余内容是不可见的。
3、scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
4、auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
九. 定位
1.文档流 :
文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。
2…关于定位
我们可以使用css的position属性来设置元素的定位类型,postion的设置项如下:
relative 生成相对定位元素,一般是将父级设置相对定位,子级设置绝对定位,子级就以父级作为参照来定位,否则子级相对于body来定位。
absolute 生成绝对定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。
fixed 生成固定定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位。
3.定位元素的偏移
定位的元素还需要用left、right、top或者bottom来设置相对于参照元素的偏移值。
4.定位元素层级
定位元素是浮动的正常的文档流之上的,可以用z-index属性来设置元素的层级
十. CSS权重
CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。
权重的等级
可以把样式的应用方式分为几个等级,按照等级来计算权重
1、内联样式,如:style=””,权重值为1000
2、ID选择器,如:#content,权重值为100
3、类,伪类,如:.content、:hover 权重值为10
4、标签选择器,如:div、p 权重值为1
5. .box{ color : rad !important}