
嵌入css方式
1 内联式
内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:
1 | <p style="color:red">红色</p> |
并且css样式代码要写在style=""
双引号中
如果有多条css样式用分号隔开:
1 | <p style="color:red;font-size:12px">红色</p> |
2 嵌入式
嵌入式css样式,就是可以把css样式代码写在标签之间。
1 | <style type="text/css"> |
3 外部式
在<head>
内使用<link>
标签将css样式文件链接到HTML文件内,如下面代码:
1 | <link href="base.css" rel="stylesheet" type="text/css" /> |
注意:
- css样式文件名称以有意义的英文字母命名,如 main.css。
rel="stylesheet" type="text/css"
是固定写法不可修改。- 标签位置一般写在标签之内。注意:
- 三种方法的优先级:内联式 > 嵌入式 > 外部式
但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。
选择器
1 | 选择器 |
选择器
1 标签选择器
标签选择器其实就是html代码中的标签
1 | p{font-size:12px;line-height:1.6em;} |
2 类选择器
1 | .类选器名称 {css样式代码;} |
3 ID选择器
ID选择器只能在文档中使用一次
1 | #ID器名称{css样式代码;} |
4 子选择器
>
符号表示,选择指定标签元素的第一代子元素(直接后代)
1 | .food>li //选择类标签food下面的第一个li |
5 包含(后代选择器)
通过空格
,用于选择指定标签元素下的后辈元素(所有子后代元)
1 | h1 em {color:red;} |
6 通用选择器
*
匹配html中所有标签元素
7 伪类选择器
允许给html不存在的标签(标签的某种状态)设置样式
1 | a:hover{color:red;} //a标签鼠标滑过的状态设置字体颜色 |
8 分组选择器
为html中多个标签元素设置同一个样式时,可以使用分组选择符,
1 | h1,span{color:red;} |
//它相当于下面两行代码:
1 | h1{color:red;} |
布局模型
CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。在网页中,元素有三种布局模型:
- 流动模型(Flow)
- 浮动模型 (Float)
- 层模型(Layer)
流动模型
默认的网页布局模式
flow模型特征:
1.块状元素自上而下顺序分布,默认状态下,块状元素的宽度都为100%,以行的形式占据位置,霸道独占一行。
1.内联元素在所处的包含元素内从左到右水平分布
浮动模型
块状元素独占一行,让两个块状元素并排显示,可以使用浮动。
1 | div{ |
1 | <div id="div1"></div> |
层模型
绝对定位(position: absolute)
将元素从文档流中拖出来,绝对定位元素不占文档流,忽略文档流的存在而浮在已有东西的上面
left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位,如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口
相对定位(position: relative)
通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。
它相对定位占文档流 ,所以定位不好它会覆盖已有的东西。
固定定位(position: fixed)
与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。
不会受文档流动影响,这与background-attachment:fixed;属性功能相同。
Relative与Absolute组合使用
相对于其它元素进行定位.
参照定位的元素必须是相对定位元素的前辈元素:
1 |
|
参照定位的元素必须加入position:relative;
1 | #box1{ |
定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
1 | #box2{ position:absolute; //相对 |
盒模型
箱子装东西的模型。所有的块级元素都具备盒模型特点。
CSS继承
样式会自动应用于其后代。
如:给p设置了颜色,span也会有颜色。
1 | p{color:red;} |
1 | <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p> |
有一些css样式是不具有继承性的。如border:1px solid red;
注意:继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
代码缩写节能
1 盒模型
代码简写盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。
通常有下面三种缩写方法:
1、如果top、right、bottom、left的值相同,如下面代码:
1 | margin:10px 10px 10px 10px; |
2、如果top和bottom值相同、left和 right的值相同,如下面代码:
1 | margin:10px 20px 10px 20px; |
3、如果left和right的值相同,如下面代码:
1 | margin:10px 20px 30px 20px; |
注意:padding、border的缩写方法和margin是一致的。
2 颜色值缩写
关于颜色的css样式也是可以缩写的,当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。
1 | p{color:#000000;} |
3 字体缩写
网页中的字体css样式代码也有他自己的缩写方式,下面是给网页设置字体的代码:
1 | body{ |
这么多行的代码其实可以缩写为一句:
1 | body{ |
注意:
1、使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-varient、line-height)如未指定将自动使用默认值。
2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。
一般情况下因为对于中文网站,英文还是比较少的,所以下面缩写代码比较常用:
1 | body{ |
只是有字号、行间距、中文字体、英文字体设置。
边框
边框三个属性:
1 | div{ |
1.border-style常见样式有:dashed(虚线)| dotted(点线)| solid(实线)
1.border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
1.border-width(边框宽度)中的宽度也可以设置为:thin | medium | thick(不是很常用),常用的还是用象素
(px)
四个边框单独设置:
1 | border-top:1px solid red; |
宽度和高度
css内定义的宽(width)和高(height),指的是填充padding以里的内容范围。
填充padding
上、右、下、左(顺时针)。
1 | //合起来写: |
如果上、右、下、左的填充都为10px;可以这么写
div{padding:10px;}
如果上下填充一样为10px,左右一样为20px,可以这么写:
div{padding:10px 20px;}
边界margin
上、右、下、左。
1 |
|
如果上右下左的边界都为10px;可以这么写:
1 | div{ margin:10px;} |
如果上下边界一样为10px,左右一样为20px,可以这么写:
1 | div{ margin:10px 20px;} |
权值
为同一个元素设置了不同的CSS样式代码,会优先使用权值高的css样式。
权值的规则:
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:
1 |
|
格式化排版
字体
1 | body{font-family:"宋体";} |
字号、颜色
1 | body{font-size:12px;color:#666} |
粗体,斜体、下划线、删除线
1 | p span{font-weight:bold;} //粗体p |
缩进
1 | p{text-indent:2em;} //注意:2em的意思就是文字的2倍大小。 |
行间距
1 | p{line-height:1.5em;} |
字间距、字母间距
1 | letter-spacing //字母间距 |
对齐
1 | text-align:left/center/right |
- 本文标题:css总结
- 创建时间:2018-12-15 12:25:56
- 本文链接:2018/12/15/前端/css总结/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!