css中"div#outer"这样的写法是为什么呢?id不是唯一的吗为何前面还要套个div?内有出处

div#outer{width:500px;}div#inner{text-indent:10%;}p{width:200px;}<divid="outer"><divi... div#outer {width: 500px;}
div#inner {text-indent: 10%;}
p {width: 200px;}

<div id="outer">
<div id="inner">some text. some text. some text.
<p>this is a paragragh.</p>
</div>
</div>

难道是用作于 不同页面中不同种类元素但都用了同样id?-.-这不自己给自己找麻烦嘛
展开
 我来答
匿名用户
2013-03-14
展开全部
id唯一性是语法上的要求,实际页面中可以存在多个ID而页面效果正常(jiangxibaiyi说的有js的话就会冲突)

考虑下面的代码:
<p class="abc">blue</p>
<div class="abc">red</div>

.abc{color:red;}/*所有class为abc的元素文字为红色*/
div.abc{color:blue}/*class为abc的div文字为蓝色*/

实际上是为了实现上面这个选择而设计的这种规则,只是既然设计好了,没必要因为 ID 的唯一性而专门又去写其他的规则把 ID 从这种规则里面剔除

而无论写 div#abc 还是直接写 #abc 都具有一样的效果,不冲突。

你知道在是 ID 而非 Class 的情况下如此写是多余的,就直接写 #abc 不写前面 Div 就行了,由于css 的解析是从右往左的,这种情况从右边开始解析到 #abc 就ok了,如果是写 div#abc 会先去解析 #abc 再去解析左边的 div ,多解析了一个多余的东西,在选择效率上来说 div#abc 会比 #abc 慢一点(不过通常察觉不到这个快慢的明显区别)
jiangxibaiyi
2013-03-14 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部
id唯一性,似乎是针对javascript而不是css吧?
刚才测试了一下,css好像没有id唯一性
<style>
#a{color:red}
</style>
<div id="a">123456</div>
<p id="a">sdfsdf</p>
上面的代码运行后,2个标签的字体颜色都是红色的,刚刚测试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
222傻猪
2013-03-14 · TA获得超过1111个赞
知道小有建树答主
回答量:348
采纳率:66%
帮助的人:215万
展开全部
前面的div可以不加,这个只是标示再看css时你这个类是用于div的。我第一次用到的时候是在java里面,这样每个id类前面都加上了,其实不用,加上也不影响运行,后来工作HTML 后,我依然加上前面的div,别人都感觉很奇怪,这才知道了,这个可以不加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式