### 代码风格 样式格式书写 - 紧凑型 - 展开型(推荐) 样式大小写 小写风格 空格规范 ```html ``` ### 基础选择器 #### 标签选择器 用标签名作为选择器。全部选择修改样式,不能给某一个差异化。 ```html 标签名 { 属性1: 属性值1; 属性2: 属性值2; 属性3: 属性值3; } ``` #### 类选择器 单独选择一个或多个,实际开发最常用。长名称可以用-,不要使用汉字和数字。 ```html .类名 { 属性1: 属性值1; 属性2: 属性值2; 属性3: 属性值3; }
...
``` 多类名 一个标签可以指定多个类名,相同样式放入一个类名,方便修改。 ```html
...
``` #### id选择器 ```html #id名 { ... } ``` id选择器,样式通过#定义,用id调用,只能调用一次,不可调用多次,id选择器是一次性的。 #### 通配符选择器 选择页面中所有的标签,不需要调用,特殊情况下使用。 ```html * { ... } ``` ### 字体属性 #### 字体系列 ```html p { font-family: '微软雅黑'; } div { font-family: Arial, 'Microsoft Yahei', '微软雅黑'; } ``` #### 字体大小 ```html p { font-size: 20px; } ``` 谷歌浏览器默认16px,可以给body指定,标题标签特殊,需要单独指定。 #### 字体粗细 ```html font-weight: bold; 400px = normal; 700px = bold; ``` 实际开发提倡用数字。 #### 文字样式 ```html font-style: normal; ``` #### 字体复合属性 ```html font: font-style font-weight font-size/line-height font-family; 顺序固定,空格隔开。font-size font-family不能省略。 ``` ### 文本属性 #### 文本颜色 ```html color: red; color: #ff000; 实际开发最常用。 color: rgb(255, 0, 0); ``` #### 对齐文本 ```html text-align: center; 水平居中 ``` #### 装饰文本 ```html text-decoration: none; a 删除下划线 text-decoration: underline; ``` #### 文本缩进 ```html text-indent: 20px; text-indent: 2em; 当前文本两个文本的缩进。 ``` #### 行间距 ```html line-height: 26px; text-indent: 1.5em; ``` ### 引入方式-三种样式表 #### 内部样式表 ```html ``` 一般放在head标签中。方便控制整个页面的样式。未完全分离,嵌入式样式表。 #### 行内样式表 ```html

...

``` 适合修改个例,简单修改,控制当前标签的样式,结构与样式混合。 #### 外部样式表 ```html 建立文件style.css 写入样式 ``` 适合开发使用。结构与样式完全分离。 ### Chrome调试工具 F12 ### 复合选择器 #### 后代选择器(重要) 包含选择器即后代选择器。 ```html ``` #### 子元素选择器(重要) 只选择最近的元素,只选儿子,不选孙子。 ```html .nav>a { color: red; } ``` #### 并集选择器(重要) 选择多组标签,集体声明,逗号分割,竖着写,最后一个不用加逗号。 ```html div, p { color: red; } ``` #### 伪类选择器 冒号,添加特殊的效果,链接伪类,表单伪类。 链接伪类 ```html a:link 未访问的 a:visited 访问过的 a:hover 鼠标经过 a:active 点下未弹起 a:link { color: #333; text-decoration: none; } a:visited { color: red; } a:hover { color: skyblue; } a:active { color: green; } 实际开发a:link {} a:hover {} 足够 ``` :focus伪类 ```html 光标选择器 input:focus { background-color: pink; color: red; } ``` ### CSS元素显示模式 标签以什么方式显示。 块元素,独占一行,可以设置宽度和高度。 行内元素宽和高设置是无效的,默认是内容本身的宽度,不能放块元素。a不能放a了,但a内可以放块元素。 行内块元素 ```html ``` | 元素模式 | 元素排列 | 设置样式 | 默认宽度 | 包含 | | ---------- | ------------------------ | ---------------- | ------------------ | ---------------------- | | 块元素 | 一行只能放一个块元素 | 可以设置宽度高度 | 容器的100% | 容器可包含任何标签 | | 行内元素 | 一行放多个行内元素 | 不可设置宽度高度 | 等于本身内容的宽度 | 容纳文本或其他行内元素 | | 行内块元素 | 一行可以放多个行内块元素 | 可以设置宽度高度 | 等于本身内容的宽度 | | 显示模式的转换,a链接,增加元素点击范围。把一个行内元素转换为块元素。 行转块:display: block 块转行:display: inline 转换行内块:display: inline-block ### CSS背景 ```css 背景颜色 background-color: ...; 背景图片 小的装饰型图片,超大的图片,精灵图,便于控制位置。 background-image: url(); 背景平铺 background-repeat: repeat; 默认平铺 背景图片位置 background-position: x y; [top; center; bottom; left; right; ] 背景图片固定滚动 background-attachment: scroll; fixed; 背景图片复合简写 background: 背景颜色 背景图片 背景平铺 背景滚动 背景位置; CSS3背景色半透明 background: rgba(0, 0, 0, 0.3); ``` ### CSS三大特性 #### 层叠性 相同的选择器设置相同的样式,此时样式冲突,遵循就近原则。只存在样式冲突才会被覆盖,其他仍然可以有效。 #### 继承性 子承父业,简化代码,降低复杂性,主要继承文字相关样式适合。行高的继承。 ```css font: 12px/1.5 'Microsoft yahei'; 当前元素文字大小的1.5倍 ``` #### 优先级 | 选择器 | 权重 | | -------------------- | ---------- | | 继承或者* | 0,0,0,0 | | 元素选择器 | 0,0,0,1 | | 类选择器,伪类选择器 | 0,0,1,0 | | ID选择器 | 0,1,0,0 | | 行类样式 style=“” | 1,0,0,0 | | !important 重要的 | 最高权重 | a链接具有单独的样式,浏览器指定了默认样式。 继承的权重为0。 复合选择器具有权重叠加的原则。 ### CSS盒子模型 网页布局:盒子模型,浮动,定位。 #### 组成 ```css border 边框 content 内容 padding 内边距 margin 外边距 border: border-width border-style border-color; border-collapse: collapse; padding: 5px; padding: top left right bottom; padding-top, padding-bottom, padding-left, padding-right; padding会影响盒子大小 如果盒子没有指定width或者height则不会改变 margin: 10px; margin: top left right bottom; margin: 0 auto; 居中写法 margin-top, margin-bottom, margin-left, margin-right; 嵌套子父元素存在塌陷 boder-top padding: 5px; overflow: hidden; 默认内外边距,可清除内外边距,一般做CSS第一行。 * { margin: 0; padding: 0; } 行内元素只设置左右内外边距。 ``` #### 圆角边框(CSS3新增样式) ```css boder-redius: 10px; 圆形 width: 200px; height: 200px boder-redius: 100px;(50%) 圆矩形 width: 600px; height: 200px; boder-redius: 100px;(50%) ``` #### 盒子阴影(CSS3新增样式) ```css box-shadow: h-shadow v-shadow blur spread color inset h-shadow 水平阴影 必须 v-shadow 垂直阴影 必须 blur 模糊距离 spread 阴影尺寸 color 阴影颜色 inset 内阴影还是外阴影 div div: hover ``` #### 文字阴影(CSS3新增样式) ```css text-shadow: h-shadow v-shadow blur color ``` ### 浮动 #### 三种布局方式 标准流、浮动、定位 浮动最广泛应用为同一行显示多个块元素。 **网页布局第一准则:多个快元素纵向排列用标准流,多个快元素横向排列用浮动。** ```css float: left; right; none; ``` 浮动的盒子会脱离原来的位置。上沿对齐。具有行内块元素相似的特性。 浮动经常与标准流搭配使用。标准流上下布局,浮动水平布局。 #### 清除浮动 父盒子在很多情况下不能确定高度。清楚浮动造成的影响。 ```css div { clear: both; } 闭合浮动 ``` - 额外标签法,隔墙法,堵住,不常用 ```css .clear { clear: both; }
...
格外标签块元素 ``` - 父盒子添加overflow ```css .box { overflow: hidden; }
...
``` - 父元素添加:after ,高级,推荐。 ```css .clearfix::after { content: ""; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { *zoom: 1; }
``` - 父元素用双伪元素,高级,推荐。 ```css .clearfix::before, .clearfix::after { content: ""; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; }
``` ### 书写顺序 1 布局样式 2 自身属性 3 文本属性 4 自他属性 ### 定位 自由确定盒子位置,应用于布局。 #### 定位模式 | position值 | 效果 | | ---------- | ------------------------------------------------------------ | | static | 静态定位,无定位,默认定位,标准流,不使用。 | | relative | 相对定位,相对于自身坐标边偏移,不脱标,保留原来位置,应用于绝对定位的父元素 | | absolute | 绝对定位,没有父元素、或者父元素无定位以浏览器为准,以最近一级带有定位的位置为参考系。脱标,不再占有原位置。**子绝父相**。 | | fixed | 固定定位,固定到浏览器的固定位置,首栏。以浏览器的可视窗口作为参照系。脱标。
返回顶部盒子:position: fixed; left: 50%; margin-left: 52%; | | sticky | 粘性定位,position: sticky; top: 10px; 使用少。 | #### 边偏移 | 属性 | 偏移位置 | | ------ | -------- | | top | | | bottom | | | left | | | right | | ### 元素的显示和隐藏 #### display - display: none; 隐藏元素,不在占有原位置。 - display: block; 显示元素,占位置。 搭配js,应用广泛。 #### visibility - visibility: visible; 继续占有位置 - visibility: hidden; #### overflow - overflow: visible; 默认显示 - overflow: hidden; 不显示溢出部分 - overflow: auto; 需要的时候添加滚动条,显示更好 - overflow: scroll; 滚动条显示