Rss & SiteMap

爱心论坛 http://www.zqax.net/bbs/

自强爱心网是由一群热心公益事业的残疾人共同创办的非盈利性公益网站。网站以服务残疾人为宗旨,同时携手广大残疾人及社会各界爱心人士共同打造残疾人的网上家园!
共1 条记录, 每页显示 15 条, 页签: [1]
[浏览完整版]

标题:[转帖]css中元素不可见的几种办法

1楼
五味瓶 发表于:2017/4/15 20:44:35

周末的时候看了一会书,提到了这个visibility这个属性,所以把目前自己知道几种隐藏元素的标签也一一罗列出来,当做是一个小总结吧。

之前我很喜欢用display:none来达到隐藏元素,简单粗暴,但是可能你也会注意到其他的网站有些会用text-indent、position、还有些会用到visibility,假如他们只是用做隐藏文字或者div可见的情况下,我觉得基本都一样,写页面的人习惯用哪样就可以选择哪样的写法。下面我来说具体的一些写法哈。

 1、display,这个属性是改变一个元素的显示效果,假如元素使用了none值,那么元素直接干净利落的消失不见。你在右键审查元素的时候找到该处会显示为0×0,不信你试试。之所以会完全没有看见是因为使用了display:none这个标签,使用none值会让元素从文档中直接删除,所以它没有对布局产生任何的影响,就是真的消失不见了,前台根本显示不出来。

*用法:*display:none

优点:简单暴力,不需要多余代码,缺点:元素从文档删除,对于seo不利。但是我们经常看见的很多的时候并不是使用代码,好像有些人喜欢用text-indent

 2.text-indent,这个属性本来是用来设置文本缩进的,一般我们习惯是首行缩2个中文字所以一般的用法是text-indent:2em。但它允许负值,假如给它一个负值,这个负值足够大,大到一般我们浏览器无法显示,好像它跟浏览器宽度躲猫猫一样。假如说用户浏览器分辨率不够支撑其缩减的宽度,那么它就默认显示“没有”,但是它会占据网页空间,只不过是我们在前台“看不见”而已,但是它会影响到文档的布局,感觉它是悬挂在本文前面,一直挂到你电脑屏幕足够大显示它为止。

*用法:*text-indent:-999em

优点:利于搜索引擎,缺点:暂无 //有人说*text-indent:-999em缺点是隐藏在了一个太远的位置 导致影响到文档宽度,其实它并不是谁影响到文档宽度,它的作用其实就是把文字提到段落前面,不让我们看见,但是暂时不会影响其宽度,不过会影响到布局。

 3.position,我们都知道position是用来定位元素的,数值可正可负,假如说一个元素的距离我们的视窗(电脑显示屏幕)足够大,大到我们浏览器也无法显示出来,那么它也是“消失”的。但是这种做法一般适用于比较写死的东西,比如说要标明以下文字是干嘛的,基本是不会有所改动:

用法: position:absolute;top:-999em或left:-999em

优点:信手拈来,随意摆放,缺点:用法太死,不能随意修改,比较死板

 4.visibility,这个属性也是可以达到隐藏元素的目的,这个属性也是跟display属性正好相反,这个也只是“看不见”而已。用了该属性属性之后,元素在前端页面是解析不出来的,但是元素依然存在在哪里,只不过我们肉眼不可见,所以元素依然会影响到布局。

*用法:*visibility:hidden

优点:相对display会利于SEO优化,缺点:该属性会继承,假如祖先用了visibility:hidden,那么子元素也是直接显示不见,想要子元素显示让用户看见,还要必须再多写visibility:visible

 小结 :总体来说,对于一般元素隐藏用text-indent比较靠谱,对于浏览器来说也是非常友好的,目前暂时没有大的问题出现;假如说对于已经写死的标签那么就可以考虑用position标签,接下来是visibility,最后是display,因为这个标签属性会把元素直接从文档中del删除了。那么就看你怎么用了。

共1 条记录, 每页显示 15 条, 页签: [1]

Copyright 2006 - 2022 © 自强爱心网 All Rights Reserved
工业和信息化部ICP/IP信息备案号:辽ICP备 11006191号-1
Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.