第四章 浮动 ① 笔记

  • 1.内容回顾
    • 1.1.课前测试
    • 1.2.上节内容
  • 2.本章目标
    • 2.1. 精灵图
    • 2.2. css选择器的深入
    • 2.3. 标签布局分类
    • 2.4.浮动
  • 3.具体内容
    • 3.1.精灵图
      • 1. 什么是精灵图
      • 2 为什么要用精灵图
      • 3 案例:当当图标
    • 3.2.标签分类
      • 1 .标签分类 行内元素 块状元素
      • 2 display 属性
    • 3.3.CSS选择器进阶
      • 1 全局 *
      • 2 并集选择器
      • 3 交集选择器
      • 4 儿子选择器
      • 5 后代选择器
      • 6 属性选择器
      • 7 伪类选择器 默认/访问过/浮动/点击(之后的样式)
      • 8 css 特性
      • 9 练习 折叠菜单
    • 3.4.浮动 float
    • 4.1 什么是浮动
    • 4.2 浮动的由来
    • 4.3 浮动的特征
      • 1 左浮动,右浮动
      • 2 行内元素浮动的影响
      • 3 块状元素浮动的影响
    • 4.4 浮动的应用
    • 4.5 浮动塌陷
  • 4.内容总结

1.内容回顾

1.1.课前测试

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*样式定义规则:从大到小,从外到里外宽内高,外相内绝*/.menu{/*边框*/border:2px solid black;/*宽度*/width:100px;/*修改列表样式为none,去除小圆点*/list-style:none;/*去除ul的内填充*/padding:0px;}/* li{border:1px solid blue;} */a{border:1px solid red;/*修改a标签的显示模式,改为块状显示*/display:block;/*设置a标签的高度*/height:30px;/*a标签内容水平居中*/text-align:center;/*a标签内容垂直居中*/line-height:30px;/*去除下划线*/text-decoration:none;/*设置背景颜色*/background-color:#000;/*设置字体颜色*/color:#fff;}/*鼠标悬浮到a标签上的时候,实现反色*/a:hover{background-color:#fff;color:#000;}</style></head><body><!--步骤: 1.先写内容 2.定义样式--><ul class="menu"><li><a href="http://www.taobao.com">淘宝</a></li><li><a href="http://www.jd.com">京东</a></li><li><a href="http://www.bilibili.com">B站</a></li><li><a href="http://www.dangdang.com">当当网</a></li></ul></body>
</html>

1.2.上节内容

2.本章目标

2.1. 精灵图

2.2. css选择器的深入

2.3. 标签布局分类

2.4.浮动

3.具体内容

3.1.精灵图

1. 什么是精灵图

精灵图:图片整合技术(css sprites),就是将很多的小图片整合到一张大图上。使用
的时候通过背景属性,调整在一个div框中显示的整个大图的某一点位置。

2 为什么要用精灵图

提升页面加载速度。减轻服务器压力。。。。
实际上就是背景属性的应用。

3 案例:当当图标

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">.d1{width:38px;height:40px;border:1px solid black;/*使用背景方式引用精灵图中的某个图片*/background:url(ddjl.png);}.d2{width:38px;height:40px;border:1px solid black;background:url(ddjl.png) no-repeat 0px -160px;}</style></head><body><div class="d1"></div><div class="d2"></div></body>
</html>

3.2.标签分类

1 .标签分类 行内元素 块状元素

思考:为什么有些标签自己能占一行,为什么有些标签可以在一行内显示?
从布局来分: 块状标签/行内标签/行内块状标签
块状标签(block): 独占一行,可以设置宽高。
常用块状:div p h1-h6 table ul li ol li hr (hr 分割线标签)
在没有div之前,一般都是用表格做页面的布局。但是不能满足我们关于定位的需求。
div : 块状标签,层级标签(页面的布局),没有语义的标签,语义由我们开发者设
置。默认宽度为 100% ,高度为0
行内标签(inline): 不能设置宽高(img 和input 标签可以设置宽高 置换元素),可以在
一行内排列。初始宽高都由内容撑起来。
常用:input span img a br (br 换行标签)
span: 行内标签 行级文本容器。
行内块状标签(inline-block):既有行内标签特征(挤在一行),又有块状标签特征(可以设置宽和高)

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">div{border:1px solid red;width:100px;height:100px;}a{border:1px solid black;width:300px;height:300px;}img{width:300px;height:300px;}</style></head><body><!--标签分类:块状标签:1.独占一行,默认撑满容器2.可以调整宽度和高度3.常用的块状标签: div,h1-h6,p,ul,ol,li,table,form行内标签: 1.挤在一行显示,靠内容撑起来容器大小2.不能调整宽度和高度3.常用的行内标签: span,a,b,u,i,sub,sup行内块状: 1.挤在一行显示2.可以设置宽度和高度3.常用的行内块状标签: img,input--><div>这是一个div1</div><div>这是一个div2</div><a href="#">这是菜单1</a><a href="#">这是菜单2</a><img src="11.jpg" /><img src="11.jpg" /></body>
</html>

语义化

2 display 属性

html中的每一个标签都具有默认的display属性。标签是块状还是行内都由默认的display
属性决定。
可以通过display属性的值来改变标签的类别。
display:none(不显示) block 块状 inline 行内 inline-block 行内块(既能设置宽高
又可以在一行内排列显示);

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">.menu{border:2px solid black;/*设置容器宽度*/width:100px;/*除去ul的列表项圆点*/list-style:none;/*去除ul外边距*/margin:0px;/*去除ul内填充*/padding:0px;}li{border:2px solid red;/*height:40px;*/}a{border:2px solid green;/*将a标签变为块状*/display:block;/*高度*/height:40px;/*调整超链接中的文本位置*//*水平位置*/text-align:center;/*垂直位置*/line-height:40px;/*去除下划线*/text-decoration:none;/*黑色背景,白色字体*/background-color:#000;color:#fff;}/*鼠标悬浮修改背景和字体颜色*/a:hover{background-color:#fff;color:#000;}</style></head><body><!--垂直反色菜单实现步骤:1.用ul li实现菜单结构2.ul是块状,要设定宽度3.ul的边框和内容之间有间距4.ul有默认的圆点--><ul class="menu"><li><a href="#">菜单1</a></li><li><a href="#">菜单1</a></li><li><a href="#">菜单1</a></li><li><a href="#">菜单1</a></li><li><a href="#">菜单1</a></li></ul></body>
</html>

3.3.CSS选择器进阶

1 全局 *

<!DOCTYPE html >
<html><head><title> New Document </title><style type="text/css">.d1{width:38px;height:40px;border:1px solid black;/*使用背景方式引用精灵图中的某个图片*/background:url(ddjl.png);}.d2{width:38px;height:40px;border:1px solid black;background:url(ddjl.png) no-repeat 0px -160px;}</style></head><body><div class="d1"></div><div class="d2"></div></body>
</html>

2 并集选择器

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*并集选择器:*/h1,div,span{color:red;}</style></head><body><h1>这是一个标题</h1><div>这是一个div</div><p>这是一个p标签</p><span>这是span</span></body>
</html>

3 交集选择器

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*交集选择器:要同时满足多个选择器条件让第一个h1变红h1.hs : 前面是h1标签选择器,紧跟一个类选择器,两种选择器共同作用,这被称为交集选择器*/h1.hs{color:red;}/*请让第一个div的字体颜色变蓝*/</style></head><body><h1 class="hs">这是一个标题1</h1><h1>这是一个标题2</h1><div class="xx">这是一个div</div><div>这是一个div</div><p class="hs">这是一个p标签</p><span class="xx">这是span</span></body>
</html>

4 儿子选择器

5 后代选择器

6 属性选择器

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*所有的b变红b{color:red;}*//*将div下的所有的b变红*//*儿子和孙子都有变化空格表示后代选择器div b{color:red;}*//*请让div的儿子辈的b变红*//* > : 子级选择器*/div > b{color:red;}/*请让姓名文本框的边框变红*//*属性选择器,用标签中的特定属性值进行元素筛选*/input[type='text']{border:1px solid red;}[type='password']{border:1px solid blue;}</style></head><body><b>这是body下的b</b><div><b>这是div下的b</b><span><b>这是span下的b</b></span></div><hr/>姓名:<input type="text" name="xm" />密码:<input type="password" name="mm"/></body>
</html>

7 伪类选择器 默认/访问过/浮动/点击(之后的样式)

伪类:

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*:link 伪类选择器用于设置a标签默认样式*/a:link{font-size:20px;color:red;}/*:visited 伪类选择器用于设置a标签点击之后的样式*/a:visited{font-size:40px;color:black;}/*:hover 伪类选择器用于设置鼠标悬浮在a标签上时的样式*/a:hover{font-size:30px;color:orange;}/*:active 伪类选择器用于设置a标签被点击时的样式*/a:active{font-size:80px;color:purple;}</style></head><body>a href="#">这是一个菜单</a></body>
</html>

扩展:参考 w3school文档

8 css 特性

cascading style sheet 层叠样式表
层叠性:如果多个选择器同时设置一个标签,如果设置的样式相同,按照优先级显示(权
重),否则,同时起作用。
继承性:子代元素会默认的继承父元素的样式(字体样式/文本样式),布局样式都不能继承。

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">div{color:red;}.xxx{font-size:30px;color:blue;}#d1{background-color:orange;color:black;}</style></head><body><div class="xxx" id="d1">这是一个DIV<span>这是一个span</span></div></body>
</html>

9 练习 折叠菜单

<!DOCTYPE html>
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">ul{list-style:none;padding:0px;width:120px;text-align:center;font-size:20px;}#menu>li{background-color:#99ccff;}#menu li ul{background-color:#cccccc;display:none;}#menu>li:hover>ul{display:block;}</style></head><body><ul id="menu"><li class="item">人事管理<ul class="sub"><li><a href="#">二级菜单1</a></li><li><a href="#">二级菜单2</a></li></ul></li><li class="item">财务管理<ul class="sub"><li><a href="#">二级菜单1</a></li><li><a href="#">二级菜单2</a></li></ul></li><li class="item">销售管理<ul class="sub"><li><a href="#">二级菜单1</a></li><li><a href="#">二级菜单2</a></li></ul></li></ul></body>
</html>

3.4.浮动 float

标准文档流:数据流(二进制的)
文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式。并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素。
块状元素:从上到下。行内元素:从左到右,放满了,换行接着排列

4.1 什么是浮动

浮动:就是让页面上的标签脱离标准文档流,向父标签的左边或者右边移动。直到遇到其它浮动标签或者到达父标签的边界。
float:left/right;

4.2 浮动的由来

最初时,浮动是为了实现一种环绕效果。–经过发展—》浮动布局。

4.3 浮动的特征

浮动之后:
块状元素浮动:能在一行内排列。失去独占一行的特性。
行内元素浮动:可以设置宽高。
思考:浮动跟inline-block有点相似?
inline-block始终处于标准文档流,但是浮动脱离了标准文档流。

1 左浮动,右浮动

float:left 左浮动
float:right 有浮动
float:none 不浮动

2 行内元素浮动的影响

3 块状元素浮动的影响

注意:实际上浮动只会影响浮动元素下边的元素。当我们做浮动布局时,所有下边的同级元素都要进行浮动

4.4 浮动的应用

布局:新疆旅游网div布局

4.5 浮动塌陷

概念:当一个(没有设置高度的)元素中所有的子元素都进行了浮动,此时,该元素的高
度会塌陷为0
解决
 1.直接设置高度;
 2.设置overflow属性 hidden/auto;
 3.在父元素中在加一个空的div 设置clear:both; 了解
 4.通过元素的after伪类设置清除浮动属性。

<!DOCTYPE html >
<html><head><title> New Document </title><meta charset="utf-8"><style type="text/css">/*浮动塌陷产生的原因,以及解决方案*//*浮动塌陷原因:1.父容器没有高度2.父容器中所有的子元素都浮动此时导致父容器塌陷,父容器高度为0浮动塌陷的解决方法:1.父容器设置高度2.通过overflow设置hidden/auto,让父容器自动包裹子元素,解决塌陷问题(最常用的方法)3.在浮动元素的后面,添加一个新元素,设置元素的样式属性clear:both。会清除浮动元素的影响解决塌陷问题(额外添加标签,不常用)4.使用after伪类解决塌陷问题*/ul{border:5px solid red;list-style:none;padding:0px;/*height:100px;overflow:hidden;*/}/*通过after清除塌陷*/ul:after{/*在ul后面添加空字符串*/content:"";/*设置内容块状显示*/display:block;/*设置内容清除两边的浮动效果*/clear:both;}li{width:200px;border:3px solid blue;}.x1{height:50px;float:left;}.x2{height:30px;float:left;}.x3{height:80px;float:left;}.x4{/*清除浮动元素的影响clear:leftclear:rightclear:bothclear:none*/clear:both}.d1{border:3px solid black;height:30px;background-color:yellow;}/*:after伪类可以在元素内部追加内容*/.mydiv:after{/*添加的内容*/content:"这是动态添加的内容";/*对添加的内容修饰*/color:red;}</style></head><body><div class="mydiv">这是我的原始内容</div><ul><li class="x1">子元素1</li><li class="x2">子元素2</li><li class="x3">子元素3</li><!-- <li class="x4"></li> --></ul><div class="d1"></div></body>
</html>

4.内容总结

 精灵图
 标签分类
 css选择器进阶
 float浮动

第四章 浮动 ① 笔记相关推荐

  1. 期权、期货及其他衍生产品 第四章读书笔记 利率

    期权.期货及其他衍生产品 第四章读书笔记 利率 利率的种类 我国的利率体系 中央银行利率 金融机构利率 金融市场利率 利率的度量 连续复利利率和与之等价的每年m次复利利率的关联 零息利率 债券定价 债 ...

  2. C++程序设计教程(钱能)第四章 学习笔记

    C++程序设计教程(钱能)第四章 学习笔记 4.1 名词解释与操作符 4.1.1 名词解释 4.1.2 操作符汇总 4.1.3 操作符的说明 4.2 算数运算问题 4.2.1 周而复始的整数 4.2. ...

  3. 数据库---战德臣第四章--关系代数笔记

    文章目录 数据库---战德臣第四章--关系代数笔记 (1) "并"操作 (2) "差"操作 (3) "笛卡尔积"操作 (4) "选 ...

  4. 西瓜书第四章阅读笔记

    西瓜书第四章阅读笔记 1.基本概念 1.1 基本算法 1.2 信息熵 1.3 信息增益 2.ID3决策树 3.C4.5决策树 4.CART决策树 5.剪枝操作 6.连续与缺失值处理 7.多变量决策树 ...

  5. 《人人都是产品经理》第四章读书笔记及读后感作文2400字

    <人人都是产品经理>第四章读书笔记及读后感作文2400字: 最近一直在忙别的学习,以至于好久没有更新公众号了,也好久没有写读书笔记了.<人人都是产品经理>这本书其实早在一个月前 ...

  6. 领域驱动第四章-读书笔记

    以后简称作者为巨牛.^_& 第四章讲解的重点就是分离.领域的分离. 说实在的,读之前觉得,自己的设计模式用的也比较熟练了,OOP的设计也做过很多个了,分离什么都是小儿科.读完之后才发现,以前的 ...

  7. 大道至简第四章阅读笔记

    第四章内容中给我们介绍了一种情况,就是当客户与调研人员在探讨需求问题时,总是因为不能很好的沟通,而把事情搞得很复杂,原因在于调研人员过分流于形式,他们总是用专业的语言向客户介绍着他们的产品项目,但对于 ...

  8. Android深度探索(卷一)第四章读书笔记

    通过对git使用方法的学习, 第四章就介绍了源代码的下载和编译. 4.1 下载.编译和测试Android源代码 4.1.1 配置Android源代码下载环境:1创建一个用于存放下载脚本文件的目录.2下 ...

  9. 数字图像处理与MATLAB 第四章学习笔记

    第四章 图像复原与重建 图像复原技术主要目的是以预先确定的目标来改善图像,大部分属于客观处理,面向退化模型,并采用相反的过程进行处理,以便恢复出原图像. 图像增强技术基本上是一种探索性过程,即根据人类 ...

最新文章

  1. keepalived 多实例
  2. Qt 数据库操作(二)
  3. 模型稳定后放在服务器上,把工程放在服务器上
  4. java 多态实现的jvm调用过程_多态:JVM是如何进行方法调用的
  5. IoT、3D 扫描抢救巴黎圣母院!
  6. mysql中游标能不能更新数据库_MySQL与MariaDB中游标的使用
  7. 力扣-图解算法数据结构-剑指 Offer 05. 替换空格
  8. 快轮天才发明家刘峰,上榜福布斯2017年亚洲人物
  9. Android 10.0 去掉开机正在优化应用Dialog
  10. 虚拟机下安装BackTrack5 (BT5)教程及BT5汉化
  11. 洛谷——P1375 小猫
  12. word设置背景色为护眼的绿色
  13. word打不开服务器无响应,word文档打开后未响应怎么办 word打开后一直未响应
  14. html适合做标题得字体,40个漂亮英文字体-而且适合制作大标题哦
  15. kafka自动提交offset的设置理解
  16. 《动物世界》电影 观后感
  17. 取redis中手机验证码,并验证是否正确
  18. Windows Server 2008 使用“net use”挂载网络共享时“发生系统错误53”的解决方案
  19. ffmpeg 合并拼接 mp4视频
  20. 【营销】史上最全4P、4C、4S、4R、4V、4I营销理论

热门文章

  1. 计算机网络 学习通 第三章作业
  2. 【本人秃顶程序员】程序员不要去这样的公司
  3. html摄氏度转换华氏度,摄氏温度与K氏和华氏是怎样换算的?
  4. 蓝奏云直链解析API接口
  5. 扶贫?教育?地铁?这里有跨界也能实现的企业数字化新操作!
  6. android hid 编程,Android Bluetooth HID完成详解,androidhid
  7. 罗技G402插上电脑后没反应
  8. jk触发器改为四进制_四位二进制计数器这样接成十进制计数器
  9. y=asin(wx+φ)的对称中心_函数y=Asin(wx+φ)的图像
  10. 软件测试前置基础知识(基本概念,DOS命令)