css知识总结
2016-07-28 18:43
381 查看
一 .实现隐藏
1、display:none
display:none可以让网页中所有内容不显示,不为被隐藏的对象保留物理空间,重现时触发reflow渲染,会影响到dom结构的渲染 ,同时触发repaint重绘。
display可能的值:
none——此元素不会被显示。
block——此元素将显示为块级元素,此元素前后会带有换行符。
inline——此元素会被显示为内联元素,元素前后没有换行符。
inline-block——行内块元素。(CSS2.1 新增的值)
list-item——此元素会作为列表显示。
2、visiblity:hidden
隐藏元素,占据空间,仅视觉上完全透明,重现时触发repaint重绘
visible——默认值。元素是可见的。
hidden——元素是不可见的。
collapse——当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。
3、使用overflow:hidden隐藏溢出内容结合height:0
overflow : hidden 这种方式可以隐藏掉固定区域外的内容,它可以有效控制显示区域。但应注意,使用它时需要给它定义宽度和高度,否则会无效。
overflow用法中存在一个分支,overflow-x:hidden和overflow-y:hidden,x是横向范围,y是纵向范围,这两个属性经常用在需要隐藏滚动条时。
visible——默认值。内容不会被修剪,会呈现在元素框之外。
hidden——内容会被修剪,并且其余内容是不可见的。
scroll——内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto ——如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
相对于 display 来说适用范围太窄,但是好处是能使用 CSS3 动画。
4、opacity: 0;
严格来说这个并不是隐藏,透明之后它还占据着页面位置,所以在重排的时候还是会被计算消耗性能。
5、设置位置
6、CSS3属性
在W3C官方的标准里,通过transform下的scale属性可是由于目前几乎所有的浏览器对这个属性的渲染效率都很低,所以我们可以用下面的hack去提高渲染效率:
1、display:none
display:none可以让网页中所有内容不显示,不为被隐藏的对象保留物理空间,重现时触发reflow渲染,会影响到dom结构的渲染 ,同时触发repaint重绘。
display可能的值:
none——此元素不会被显示。
block——此元素将显示为块级元素,此元素前后会带有换行符。
inline——此元素会被显示为内联元素,元素前后没有换行符。
inline-block——行内块元素。(CSS2.1 新增的值)
list-item——此元素会作为列表显示。
2、visiblity:hidden
隐藏元素,占据空间,仅视觉上完全透明,重现时触发repaint重绘
visible——默认值。元素是可见的。
hidden——元素是不可见的。
collapse——当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。
3、使用overflow:hidden隐藏溢出内容结合height:0
overflow : hidden 这种方式可以隐藏掉固定区域外的内容,它可以有效控制显示区域。但应注意,使用它时需要给它定义宽度和高度,否则会无效。
overflow用法中存在一个分支,overflow-x:hidden和overflow-y:hidden,x是横向范围,y是纵向范围,这两个属性经常用在需要隐藏滚动条时。
visible——默认值。内容不会被修剪,会呈现在元素框之外。
hidden——内容会被修剪,并且其余内容是不可见的。
scroll——内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto ——如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
{ height: 0; overflow: hidden; /* 不占据空间,无法点击 */ }
相对于 display 来说适用范围太窄,但是好处是能使用 CSS3 动画。
4、opacity: 0;
严格来说这个并不是隐藏,透明之后它还占据着页面位置,所以在重排的时候还是会被计算消耗性能。
5、设置位置
{ position: absolute; top: -999em; /* 不占据空间,无法点击 */ } { position: relative; top: -999em; /* 占据空间,无法点击 */ }
6、CSS3属性
在W3C官方的标准里,通过transform下的scale属性可是由于目前几乎所有的浏览器对这个属性的渲染效率都很低,所以我们可以用下面的hack去提高渲染效率:
{ zoom: 0.001; /*IE浏览器缩放 -moz-transform: scale(0); /* Firefox浏览器 */ -webkit-transform: scale(0); /* Webkit内核浏览器 */ -o-transform: scale(0);/* Opera浏览器 */ transform: scale(0); /* IE6/IE7/IE9不占据空间,IE8/FireFox/Chrome/Opera占据空间。都无法点击 ,若想都不占据空间,增加position: absolute;*/ }
相关文章推荐
- Web布局连载——两栏固定布局(五)
- [div+css]晒晒最新制作专题推广页模板
- 盒子模型
- CSS选择器
- CSS样式优先权
- [css] line-height 百分比单位和数值单位的区别
- css如何搞正方形
- Apple官网研究之使用Justify布局导航
- 关于前端的思考与感悟
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 移动端点击事件全攻略,这里的坑你知多少?
- $q 实例分析 Angular 中的 Promise
- 浏览器中唤起native app || 跳转到应用商城下载
- Angular directive 实例详解
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- 设计更快的网页(三):字体和 CSS 调整