大家好,问题是这样的,默认情况下:
<div class="main">
<div class="first"></div>
<div class="second"></div>
</div>
设置了 .main 的样式为:
.main { padding: 10px; }
而当子元素为iframe的时候,想设置为:
padding: 0;
<div class="main">
<iframe></iframe>
</div>
想问一下有没有 css 直接设置的方法。
假如用 jQuery 的话,可以用:
全选复制放进笔记$('.main').css('padding', '10px')
.find('> iframe').parent().css('padding', '0');
其实你从浏览器的角度来考虑这件事情,便不会有疑问了。
假如浏览器支持父级或者前面兄弟元素选择器的话,就不得不在渲染到当前元素时,倒回去找到特定的元素,重新渲染。
因为选择器是可以组合的,甚至还会造成很多其它元素也需要重新渲染(想象.someClass:parent div),这样带来的reflow和repaint会造成难以估量的性能问题,甚至计算盒模型的栈保不齐都要溢出。所以自然不会有类似的选择器出现了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。