简答题

1、伪类和伪元素的区别

总结一下伪类与伪元素的特性及其区别:

  1. 伪类本质上是为了弥补常规CSS选择器的不足,以便获取到更多信息;
  2. 伪元素本质上是创建了一个有内容的虚拟容器;
  3. CSS3中伪类和伪元素的语法不同;
  4. 可以同时使用多个伪类,而只能同时使用一个伪元素;  

2、less语言的优点:
1、结构清晰,便于扩展
2、可以方便地屏蔽浏览器私有语法差异
3、可以轻松实现多重继承
4、完全兼容 CSS 代码,可以方便地应用到老项目中

3、nth-child 和 nth-of -type的区别

nth-child在同级子代中所有元素,包括标签不同的都算

nth-of-type在同级子代中此类型的元素,从上到下数,从一开始,有一个算一个

4、javascript和css3动画的区别

 css3实现动画:代码写的少  实现的是补间动画 不能添加事件 
 js实现动画:实现的是帧动画 有过渡效果 js代码相对复杂 解析过程不如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、

原文地址:https://www.cnblogs.com/bigbang66/p/13549794.html