web前端面试题合集(十)
伪类伪元素区别
· 相同点:都是属于选择器中的一种,能实现对于页面元素的修饰
· 不同点:
o 1、概念不同:伪类:用于已有元素处于某种状态时为其添加对应的样式,这个状态是根据用户行为而动态变化的;例如鼠标的悬停效果;伪元素:用于创建一些不在DOM树中的元素,并为其添加样式;例如:先前向后插入元素内容等等
o 2、使用方法不同:css3规范中要求使用双冒号(::)表示伪元素,以此来区分伪类和伪元素,比如::before和::after等伪元素使用双冒号(::),:hover和:active伪类使用单冒号(:)目前来看有一部分浏览器为了达到一个更好的兼容性的问题,我们的双冒号也可以写成单冒号;但是在一些低版本浏览器里面有些时候还是需要使用双冒号的
为什么无法定义1px左右高度的容器
高版本浏览器里面是能够定义1px的高度的容器的 但是由于浏览器的版本和浏览器的内核不一样导致低版本浏览器中的兼容性不一样 在低版本 IE6浏览器下面,容易出现这个问题,产生问题的原因是因为默认的行高造成的, 解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px
现在想调节—下父元素的透明度,但是又不影响子元素的透明度,怎么破?
- 原因分析:
- 使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即便重定义也没有用,不过有个方法可以实现,大家可以看看。
可以使用一张透明的图片做背景可以达成效果,但是有没有更简单的方法呢?使用 RGBA。
- 例如:
- 设置父元素opacity:0.5,子元素不设置opacity,子元素会受到父元素opacity的影响,也会有0.5的透明度。
即使设置子元素opacity:1,子元素的opacity:1也是在父元素的opacity:0.5的基础上设置的,因此子元素的opacity还是0.5。
- 解决方法:
- 为父元素设置background: rgba(0,0,0,0.5)。
更多关于“web前端培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。