简答题
1、伪类和伪元素的区别
总结一下伪类与伪元素的特性及其区别:
- 伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息;
- 伪元素本质上是创建了一个有内容的虚拟容器;
- CSS3中伪类和伪元素的语法不同;
- 可以同时使用多个伪类,而只能同时使用一个伪元素;
2、less语言的优点:
1、结构清晰,便于扩展
2、可以方便地屏蔽浏览器私有语法差异
3、可以轻松实现多重继承
4、完全兼容 CSS 代码,可以方便地应用到老项目中
3、nth-child 和 nth-of -type的区别
nth-child在同级子代中所有元素,包括标签不同的都算
nth-of-type在同级子代中此类型的元素,从上到下数,从一开始,有一个算一个
4、javascript和css3动画的区别
5、contain和cover的区别
contain 是等比例放大或者缩小,直到铺满水平或者垂直一个方向就会停止,另一个边可以空着
cover 是等比例放大或者缩小,铺满水平和垂直两个方向就会停止,多的会溢出裁减掉。
6、径向渐变和线性渐变的区别
线性:方向默认从上到下,可以改变方向,可以写多个参数
background: linear-gradient(to left bottom, orange,blue);
径向:默认是从圆心开始,沿着半径向外扩散,当所加的盒子是正方形时,扩散的是正圆,若是长方形的时候,可以改变宽高,也可以在括号里加上 circle。。没有规定right bottom等操作。。
相同:都可以在颜色属性前头加上占得百分比或者是px的
7、透明度的兼容性
opacity:n;
filter: alpha(opacity=nx100);
8、h5兼容性
条件注释:
9、弹性盒子(重中之重)
给父元素加上 display: flex; 兼容性写法 display: -webkit-flex;
父元素中的块元素就会自动排列,不用加float:left;
给父元素添加的属性:
属性一:flex-wrap: wrap; 换行
flex-wrap 属性用于指定弹性盒子的子元素换行方式。
各个值解析:
nowrap - 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
wrap - 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行
wrap-reverse -反转 wrap 排列。
属性二:flex-direction 属性
flex-direction 属性指定了弹性子元素在父容器中的位置。
flex-direction的值有:
row:横向从左到右排列(左对齐),默认的排列方式。
row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。
column:纵向排列。
column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。
属性三:justify-content 属性
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐
flex-start:
弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
flex-end:
弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
center:
弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
space-between:
弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
属性四:align-items 属性
align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
各个值解析:
flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
属性五: align-content 属性
align-content 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
各个值解析:
stretch - 默认。各行将会伸展以占用剩余的空间。
flex-start - 各行向弹性盒容器的起始位置堆叠。
flex-end - 各行向弹性盒容器的结束位置堆叠。
center -各行向弹性盒容器的中间位置堆叠(垂直)。
space-between -各行在弹性盒容器中平均分布。
space-around - 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。
10、