可以使用box-shadow属性 box-shadow: h-shadow v-shadow blur spread color inset;
项目Valueh-shadow必需 水平阴影的位置,允许负值v-shadow必需 垂直阴影的位置,允许负值blur可选 模糊距离spread可选 阴影的尺寸color阴影的颜色inset可选 讲外部阴影(outset)改为内部阴影盒子的阴影不占用空间,不影响布局
文本 text-shadow text-shadow : h-shadow v-shadow blur color
网页布局的本质 将css摆放到相应的位置上 传统网页布局的三种方式: 普通流:标签按照规定好的默认方式排列,即前边所需的都是标准流 浮动 定位
浮动最典型的应用就是让多个块级标签一行内排列 float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘 属性值有 :left(元素向左浮动)right(元素向右浮动)none(元素不浮动 默认值)
为了约束浮动元素的位置: 先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置(这时子元素以父元素为浮动标准,即将浮动元素限制在一定范围内)
当不给盒子设置高度时,浮动内部元素,会造成盒子高度为0(浮动元素不占用空间),导致后边的盒子会移动上来,对后面的元素排版产生影响,但有时候我们又无法设置高度(不知道其具体高度),该怎么办? 我们需要清除浮动 清除浮动后,父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下边的标准流了 语法 :选择器 { clear : 属性值} 属性值:left(不允许左侧有浮动元素,清除左侧浮动影响) right(同上,但为右侧) both (左右两侧都清除),一般只用这个 清除浮动的策略:闭合浮动,只让浮动元素在父盒子内部影响,不影响父盒子外部的其他盒子 清除浮动的本质:清除浮动元素脱离标准流造成的影响
方法一: 会在浮动元素末尾添加一个空的标签(必须是块元素),设置元素清除属性
<div style="clear: both;"></div>优点:通俗易懂 书写方便 缺点:添加无意义的标签,结构化比较差 因此虽然被推荐,但是不常用 听了以后还是有点模糊,那为什么父盒子没有以最后一个清除元素的高度为高度呢?即应该是仅仅被清除元素撑大,后来查阅了w3c,才明白是加了所谓清除空间:
在 CSS1 和 CSS2 中,这是通过自动为清除元素(即设置了 clear 属性的元素)增加上外边距实现的。在 CSS2.1 中,会在元素上外边距之上增加清除空间,而外边距本身并不改变。不论哪一种改变,最终结果都一样,如果声明为左边或右边清除,会使元素的上外边框边界刚好在该边上浮动元素的下外边距边界之下。
方法二 给父元素添加overflow 属性,将其属性设置为hidden,auto 或scroll 优点:代码简洁 缺点:无法显示溢出的部分
方法三 给父元素添加伪元素 :after 伪元素法 是额外标签法的升级版
.clearfix:after { content: ''; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { *zoom: 1; /* IE6,7专有 */ }优点:没有增加标签,结构简单 缺点:照顾低版本浏览器
方法三 双伪元素清除浮动,也是给父元素添加
.clearfix { *zoom: 1; /* IE6,7专有 */ } .clearfix:after, .clearfix:before { content: ''; display: table; } .clearfix:after{ clear: both; }