1.浮动特性
设置了浮动( float )的元素最重要特性:
- 脱离标准普通流的控制(浮)移动到指定位置(动),(俗称脱标)
- 浮动的盒子不再保留原先的位置
注意:
1.浮动和标准流的父盒子搭配
先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置。
2. 一个元素浮动了,理论上其余的兄弟元素也要浮动。
一个盒子里面有多个子盒子,如果其中一个盒子浮动了,那么其他兄弟也应该浮动,以防止引起问题。
浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流。
2.清除浮动
为什么清除浮动?
①父级没高度
②子盒子浮动了
③影响下面布局了,我们就应该清除浮动了。
语法:
选择器 { clear:属性值; }
属性值 | 描述 |
---|---|
left | 不允许左侧有浮动元素(清除左侧浮动的影响) |
right | 不允许右侧有浮动元素(清除右侧浮动的影响) |
both | 同时清除左右两侧浮动的影响 |
我们实际工作中,几乎只用clear: both;
1、清除浮动本质是?
清除浮动的本质是清除浮动元素脱离标准流造成的影响
2、清除浮动策略是?
闭合浮动,只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子
3、额外标签法?
隔墙法就是在最后一个浮动的子元素后面添加一 个额外标签添加清除浮动样式,实际工作可能会遇到,但是不常用
清除浮动方法:
2.1额外标签法
额外标签法就是在浮动盒子后面添加一个标准流的盒子,清除浮动。
2.2 清除浮动一父级添加 overflow
可以给父级添加overflow属性,将其属性值设置为hidden、auto 或scroll。子不教,父之过,注意是给父元素添加代码。
- 优点:代码简洁
- 缺点:无法显示溢出的部分
2.3 清除浮动—— :after 伪元素法
:after 方式是额外标签法的升级版。也是给父元素添加
.clearfix:after {
content:"";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix { /* IE6、7专有 */
*zoom: 1;
}
- 优点:没有增加标签,结构更简单
- 缺点:照顾低版本浏览器
- 代表网站:百度、淘宝网、网易等
2.4 清除浮动——双伪元素清除浮动
也是给给父元素添加
.clearfix:before, .clearfix:after {
content: "";
display:table;
}
.clearfix:after {
clear:both;
}
.clearfix {
*zoom: 1;
}
- 优点:代码更简洁
- 缺点:照顾低版本浏览器
- 代表网站:小米、腾讯等
清除浮动的方式 | 优点 | 缺点 |
---|---|---|
额外标签法(隔墙法) | 通俗易懂,书写方便 | 添加许多无意义的标签,结构化较差。 |
父级overflow:hidden; | 书写简单 | 溢出隐藏 |
父级after伪元素 | 结构语义化正确 | 由于IE6-7不支持 :after,兼容性问题 |
父级双伪元素 | 结构语义化正确 | 由于IE6-7不支持 :after,兼容性问题 |
3.常见的图片格式
1. jpg图像格式: JPEG ( JPG )对色彩的信息保留较好,高清,颜色较多,我们产品类的图片经常用jpg格式的
2. gif图像格式: GIF格式最多只能储存256色,所以通常用来显示简单图形及字体,但是可以保存透明背景和动画效果,实际经常用于一些图片小动画效果
3. png图像格式是一种新兴的网络图形格式。结合了GIF和JPEG的优点,具有存储形式丰富的特点,能够保持透明背景.如果想要切成背景透明的图片,请选择png格式
4. PSD图像格式PSD格式是Photoshop的专用格式,里面可以存放图层、通道、遮罩等多种设计稿,对我们前端人员来说最天的优点,我们可以直接从上面复制文字,获得图片,还可以测量大小和距离
PS有很多的切图方式:图层切图、切片切图、PS插件切图等。
1.图层切图
最简单的切图方式:右击图层 ----> 快速导出为PNG
但是很多情况下,我们需要合并图层再导出:
- 选中需要的图层:图层菜单 ----> 合并图层(ctrl+e)
- 右击 -----> 快速导出为PNG
2.切片切图
利用切片选中图片,利用切片工真手动划出
导出选中的图片:
文件菜单 ——> 导出 ——> 存储为web设备所用格式 ——> 选择我们要的图片格式 ——> 存储.
3.PS插件切图
Cutterman是一款运行在Photoshop中的插件,能够自动将你需要的图层进行输出,以替代传统的手工“导出web所用格式"以及使用切片工具进行挨个切图的繁琐流程。
官网: http://www.cutterman.cn/zh/cutterman
注意: Cutterman插件要求你的PS必须是完整版,不能是绿色版,所以大家需要安装完整版本。
4.像素大厨
省去PhotoShop的烦恼
PS因为各种原因,安装完整版非常麻烦,现在开发前端测量主要使用蓝湖、摹客、像素大厨等等。像素大厨官网: https:/ /www.fancynode.com.cn/
5.CSS属性书写顺序(重点)
1.布局定位属性: display / position/ float/ clear / visibility/ overflow (建议display第-个写,毕竟关系到模式)
2.自身属性: width/ height / margin/ padding / border/ background
3.文本属性: color/ font / text-decoration/ text-align/ vertical-align/ white-space / break-word
4.其他属性(CSS3) : content/ cursor / border-radius/ box-shadow / text-shadow/ background:linear-gradient...
实际开发中,我们不会直接用链接a而是用li包含链接(li+a)的做法。
1. li+a语义更清晰, 一看这就是有条理的列表型内容。
2.如果直接用a ,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字容易被搜索引擎有降权的风险),从而影响网站排名。