“小白”的css部分:一

104 阅读3分钟

*怎么解决css命名冲突

1.css-module

2.css in js (css封装成了组件的方式使用 不好区分哪些是css组件 哪些是业务组件)

3.react-css-modules/styleName(我们用的)

*怎么让一个元素 上下左右居中(3种)

1.display:flex;//设置flex必须要设置父元素

justify-content: center;//x轴居中

align-items:center;//y轴居中

2.position:absolute;

top:0;
right:0;
bottom:0;
left:0;

3.margin-left:-50%;

margin-top:-50%;
tranfrom:translate(-50%,-50%)

*css怎么清除浮动

1.清楚内浮动:zoom: 1; overflow: hidden

2.清楚外浮动:clear: both

*BFC渲染规则

1.BFC垂直方向的距离重叠

2.BFC是一个独立的容器,外面的元素不会影响里面的元素

*BFC触发条件

1.浮动元素(元素的float不是none)

2.绝对定位元素(元素的postion为absolute或fixed)

3.行内块元素(元素的display为inline-block)

4.overflow值不为visible的块元素 -弹性元素(display为flex或inline-flex元素的直接子元素)

*如何在页面上实现一个圆形点击区域:

border-radius

*display: none; visibility: hidden 区别:

none 完全不可见,hidden 元素不可见 但占用着空间

*css3 有哪些新特性:

transfrom, transition, animation, border-radius, box-shadow, flex, will-change, ::before, ::after, :root

*css3 新增伪类

::after, ::before, :disabled, :foucs, :checked, :root, :nth-child

*css3 动画

1.transfrom: translate(移动) rotate(旋转) scale(缩放)

translate(x,y)移动

translateX(x)

translateY(y)

translate3D(x,y,z)使用这个,因为有伪GPU加速

2.transition: css属性 执行时间 动画效果 延迟几秒执行

3.animation:

    @keyframes 名称 {
        0%{
            margin-left:100px;
            width:100px;
          }
          
        40%{
            margin-left:0;
            width:200px;
           }
           
        100%{
            margin-left:0;
            width:200px;
           }
      }          

animation:名称 执行时间 动画 延迟执行时间 执行次数

*如何美化checkbook:-webkit-appearance:none

*rgba和opacity区别:

rgba只作用于当前元素

opacity作用于所有元素

*如何使用css实现硬件加速,GPU渲染

transfrom: translate3D(100,0,0):写上Z轴 会使用伪GPU渲染

will-change: 绝对的GPU渲染

*flex:

flex-direction: 设置主轴方向

justify-content: 伸缩项目在主轴上的对齐方式

align-items: 伸缩项目在侧轴上的对齐方式(对单行对齐进行控制)

*columns: 列数和列宽

column-count: 列数

column-width: 宽度(宽度和列数都有的情况下以列数为准)

column-gap: 列间距(类似margin)

column-rule: 设置列之间的样式

*如何截取多行文字

display: -webkit-box;

overflow:hidden;

-webkit-line-clamp:2;

-webkit-box-orient:vertical;

*position 有哪些属性:

absolute,sticky(粘性定位),fixed,relative

*重绘和回流

重绘:DOM树没有元素增加或删除,只是样式的改变,针对浏览器对某一元素进行单独的渲染,这个过程就叫做重绘

回流:DOM树中的元素被增加或者删除,导致浏览器需要重新的去渲染整个DOM树,回流比重绘更消耗性能,发生回流必定重绘,重绘不一定会导致回流

引起回流

添加或者删除可见的DOM元素

元素的位置发生变化

元素的尺寸发生变化(包括外边距、内边距、边框大小、高度和宽度等)

内容发生变化 文本或者图片被另一个不同尺寸的图片所代替

页面开始渲染的时候

浏览器的窗口尺寸变化(回流是根据视口的大小来计算元素的位置和大小)

引起重绘

`

color

border-style

visibility

background

text-decoration

background-image

background-position

background-repeat

outline-color

outline

outline-style

border-radius

outline-width

box-shadow

background-size
    

`

*css命名冲突解决方案:

1.css-module

2.css in js

3.react-css-modules