clear 可以用来清除其他浮动元素对自己的影响 both是清除对其影响最大的元素
解决高度塌陷的方案二:在高度塌陷的父元素的最后,添加一个空白div,由于这个div没有浮动,所以其可以撑开父元素,然后对其进行消除浮动,这种方法可以通过空白的div撑开父元素的高度,基本没有副作用 使用这种方式虽然可以解决问题,但是会添加多余的结构,那么可以通过after选择器,选中父元素最后,添加一个div,用来撑开父元素,可以不添加多余的结构
解决高度塌陷最有效的方法是:clearfix,也可以添加一个table
就像这样:
/*解决高度塌陷的问题*/
.clearfix:before,
.clearfix:after {
content: "";
display: table;
clear: both;
}
当开启了相对定位时,而没有设置偏移量,不会有任何变化 left right top bottom
相对定位的元素不会脱离文档流
当开启了相对定位时,而没有设置偏移量,不会有任何变化
相对定位的元素不会脱离文档流
相对定位的元素是相对于自身的位置进行移动的(设置了偏移量之后)
相对定位会是元素提升一个层级
通常偏移量秩序设置两个就可以对元素进行定位了
相对定位不会改变元素的性质,块元素仍然是块元素,内联元素仍然是内联元素
开启绝对定位,会是元素脱离文档流
开启绝对定位以后如果不设置偏移量,位置不会发生变化
绝对定位时相对于离他最近的开启了定位的祖先元素的进行定位(一般开启了子元素的绝对定位都会开启父元素的相对定位)
如果所有的祖先元素都没有开启定位,则相对于浏览器窗口进行定位
绝对定位会使元素提升一个层级
绝对元素会改变元素的性质,块元素---->内联元素 内联元素------->块元素
块元素的高度和宽度都会被撑开
如果定位元素的层级一样,那么下边的元素会盖住上边的,那么我们可以用z-index来设置元素的层级
对于没有开启定位的元素不能使用z-index
层级越高越优先显示
父元素的层级再高也不会盖住子元素
使用background-image设置背景图片
通过background-position可以调整背景图片在元素中的位置 概述性可以使用两个值 如 top left左上 bottom right 右下 如果只给出一个值,那么第二个值默认为center
也可以直接指定偏移量 第一个值是水平偏移量,第二个值是垂直偏移量
当按钮点击时不同的动作需要不同的背景图片时,如果是单张图片,会出现闪烁的问题,为了解决这个问题,可以将图片整合在一起,通过background-position的属性来切换显示,就不会出现图片闪烁的问题了,这样浏览器秩序发送一次请求,加载一张图片,提高访问率,提升用户体验 ,第二个好处是整合图片可以减小图片的内存大小
table 用来创建 表格 tr 行 td 列(单元格), 有有几个单元格表示有几个列 th 表头 border显示边框 table默认无边框
table和td之间默认有空格,通过borderspcing属性设置他们之间的空格距离 border-collapse可以设置表格边框合并,设置了border-collapse之后,border-spacing自动失效 通过选择器 nth-child (even) 让偶数行变色
表单:表单的作用就是将用户信息提交给服务器的
比如百度的搜索框、注册、登录等都需填写表单
使用form标签创建表单
form 中action属性就是填写一个服务器的地址,提交的时候会将表单提交到这个地址
使用input控件 创建密码框 type属性是password
使用input创建一个单选按钮,type属性是radio,单选按钮通过name来分组,name相同则是同一组按钮
像这种选择框,value是必选的,不然提交时提供的信息是一样的
下拉列表的name属性需要指定给select value属性需要指定个option
类似 radio 单选 checkbox 多选 select 下拉列表等 有时候需要默认选中 某些值 ,可以设置checked属性 或者selected 属性
当 给select multiple="multiple"的属性,此时下拉列表可以选择多个值
optgroup 需要设置 label属性,通过label指定分组的属性
在表单中可以使用fieldset来对表单进行分组
在fieldset中可以使用legend设置组名
解决IE6png图片兼容的问题,可以通过添加js语句来引入图片的方式,解决兼容性的问题
条件hack支队IE浏览器有效,其他浏览器会将其视为注释
网页:结构 表现 行为
在文本框中可以使用placeholder设置水印,为了兼容IE浏览器,需要使用JS