前端之css
概述:
CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表
css基本语法
css的定义方法是:
选择器 { 属性:值; 属性:值; 属性:值;}
选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性,每个属性有一个或多个值
css引入方式:
1.内联式:通过标签的style属性,在标签上直接写样式
<div style="width:100px; height:100px; background:red ">......</div>
2.嵌入式:通过style标签,在网页上创建嵌入的样式表。
<div style="width:100px; height:100px; background:red ">......</div>
3.外链式:通过link标签,链接外部样式文件到页面中
<link rel="stylesheet" type="text/css" href="css/main.css">
css选择器:
1、标签选择器:写法和标签名相同,会选择所有的标签
2、类选择器:名称任意,名称前需要加“.”,标签通过class属性引用
3、层级选择器:通过层级关系匹配标签
4、id选择器:通过id名称来选择标签
5、组选择器: 将通过的样式抽取出来写在一起,选择器之间用“,”隔开
6、伪类选择器: 定义鼠标悬停时标签的样式
css属性:
布局常用样式属性:
width 设置元素(标签)的宽度,如:width:100px;
height 设置元素(标签)的高度,如:height:200px;
background 设置元素背景色或者背景图片,如: background:gold; 设置元素背景色为金色
border 设置元素四周的边框,如:border:1px solid black; 设置元素四周边框是1像素宽的黑色实线
以上也可以拆分成四个边的写法,分别设置四个边的:
border-top 设置顶边边框
border-left 设置左边边框
border-right 设置右边边框
border-bottom 设置底边边框
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。
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显示特性
display属性是用来设置元素的类型及隐藏的,常用的属性有:
1、none 元素隐藏且不占位置
2、inline 元素以行内元素显示
3、block 元素以块元素显示
4、nline-block: 行内块级元素。在一行中显示,并且可以设置宽高。
css元素溢出
当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。
overflow的设置项:
1、visible 默认值。内容不会被修剪,会呈现在元素框之外。
2、hidden 内容会被修剪,并且其余内容是不可见的。
3、scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
4、auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
CSS盒子模型
盒子模型解释
元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式,把元素叫做盒子,设置对应的样式分别为:盒子的宽度(width)、盒子的高度(height)、盒子的边框(border)、盒子内的内容和边框之间的间距(padding)、盒子与盒子之间的间距(margin)。
盒子的真实尺寸
盒子的width和height值固定时,如果盒子增加border和padding,盒子整体的尺寸会变大,所以盒子的真实尺寸为:
* 盒子宽度 = width + padding左右 + border左右
* 盒子高度 = height + padding上下 + border上下
css定位:
文档流
文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。
关于定位
我们可以使用css的position属性来设置元素的定位类型,postion的设置项如下:
相对定位:相对自己所在的原位置定位。原有的位置不释放。
绝对定位:从父级(祖宗级)拥有定位属性的元素开始定位,如果父级没有就继续向上找。直到找到body。会释放原有的位置。
固定定位:从浏览器的四个边开始定位top left right bottom
层级(z-index)。从小到大,小的在下,大的在上。
定位元素的偏移
定位的元素还需要用left、right、top或者bottom来设置相对于参照元素的偏移值。
定位元素层级
定位元素是浮动的正常的文档流之上的,可以用z-index属性来设置元素的层级
CSS权重
CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。
权重的等级
可以把样式的应用方式分为几个等级,按照等级来计算权重
1、内联样式,如:style=””,权重值为1000
2、ID选择器,如:#content,权重值为100
3、类,伪类,如:.content、:hover 权重值为10
4、标签选择器,如:div、p 权重值为1