• 技术文章 >web前端 >css教程

    CSS面试题(参考)

    coldplay.xixicoldplay.xixi2020-08-03 17:03:31转载838

    1.介绍一下标准的css的盒子模型?低版本IE的盒子模型有什么不同

    标准模型由四部分组成:

    模型区分:
    标准表型指的是设置box-sizing为content-box的盒子模型,一般width,height指的是content的宽高。IE盒模型指的是box-sizing为border-box的盒子。宽高的计算是content+padding+border;

    专题推荐2020年CSS面试题汇总(最新)

    2. CSS选择符有哪些?那些属于可以继承?

    可继承的样式: font-size font-family color
    不可继承的样式: border padding margin height width

    3. css优先级如何计算?

    优先级为:

    4. display有哪些值?说明他们的作用

    5. position的值releave和absolute定位远点是?

    6. css有哪些特性?

      transition-property:width
      transition-duration:1s
      transition-timing-function:linear
      transition-delay:2s

    animation:动画名称,一个周期花费时间,云顶曲线(默认ease),动画延迟(默认0),动画播放次数(默认1),是否反向播放动画(默认normal),是否暂停动画(默认running)

    transform: 使用于2D或3D转换的元素
    transform-origin: 装换元素的位置(围绕哪个点进行装换).默认(x,y,z);

    box-shadow: 水平阴影的位置 垂直阴影的位置 模糊距离 阴影的大小 阴影的颜色 阴影开始的方向(默认是从里向外,设置inset就是从外往里)

    border-image: 设置图片路径 设置边框背景图的分割方式 设置或检索对象的边框厚度 设置或检索对象的边框背景图向外扩展 设置边框图片的平铺方式

      border-radius: n1 n2 n3 n4;
    /* n1-n4 四个值得顺序是左上角,右上角,右下角,左下角 */

    box-reflect: 方向[above-上|below-下|right-右|left-左],偏移量,遮罩图片

    overflow: hidden;
    white-space: nowrap;
    text-overflow:ellipsis;
    overflow:hiden;
    text-overflow:ellipsis;用省略号"..."隐藏超出范围的文本
    display:-webkit-box;  //将对象作为弹性伸缩盒子模型显示
    -webkit-line-clamp:2; //用来限制在一个块元素显示的文本的行数
    -webkit-box-orient:vertical;设置弹性盒对象的子元素的排列方式

    text-shadow: 水平阴影 垂直阴影 模糊阴影 阴影颜色

    rgba(rgb颜色值,a为透明度)

    线性渐变和径向渐变

    filter: 滤镜效果(透明度)

    弹性布局就是flex布局

    -栅格布局

    栅格化布局。就是grid

    7. 请解释一下css3的flex(弹性盒布局模型)以及使用场景

    一个用于页面布局的全新css3功能,flexbox可以把列表放在同一个方向(从上到下排列,从左到右),并且列表能延伸到占用可用的空间,较为复杂的布局还可以嵌套一个伸缩容器(flex container)来实现。采用flex布局的元素,成为flex容器。常规布局是基于块和内联流方向,而flex布局是基于flex布局flex-flow流可以很方便的用来做居中,能对不同屏幕大小自适应,在布局上有了比以前更加灵活的空间

    8. 经常遇到的浏览器的兼容性问题有哪些,原因,解决方法是什么

    移动端

     .scale{
      position: relative;
      border:none;
     }
    .scale:after{
      content: '';
      position: absolute;
      bottom: 0;
      background: #000;
      width: 100%;
      height: 1px;
      -webkit-transform: scaleY(0.5);
      transform: scaleY(0.5);
      -webkit-transform-origin: 0 0;
      transform-origin: 0 0;
    }
     .wrapper{
       position:relative;
       overflow:hidden;
     }

    9. 请解释一下为什么需要清浮动?清浮动的方式

    清浮动是为了清除使用浮动元素产生的影响。浮动的元素,高度会塌陷,而高度的塌陷使页面后面的布局不能正常显示

    .clearfix{
        zoom:1;
    }
    .clear:after{
        content:'.';
        height:0;
        clear:both;
        display:block;
        visibility:hidden;
    }

    10. margin和padding分别适合什么场景使用?

    margin是用来隔开元素与元素的间距;padding是用来隔开元素与内容的间隔。margin是用来布局分开元素,使元素与元素互不相干;padding用于元素与内容之间的间隔,让内容与元素之间有一段间距

    11.什么是伪类,什么是伪元素,他们的区别?

    12. 什么是外边距合并

    外边距合并指的是,当两个垂直外边距相遇时,他们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中较大者

    13. 实现水平垂直居中

    示例:

    <p class="md-warp">
        <span class="md-main"></span>
    </p>
    .md-warp{
        width: 400px;
        height: 300px;
        max-width: 100%;
        border: 1px solid #000;
    }
    .md-main{
        display: block;
        width: 100px;
        height: 100px;
        background: #f00;
    }

    水平居中

    .md-main{
        margin: 0 auto
    }
    .md-wrap{
        position:relative;
    }
    .md-main{
        position:absolute;
        left:50%;
        margin-left:-50px
    }

    有些时候元素宽度不是固定的,依然可以使用定位法实现水平居中用到css3中的transform属性中的translate

    .md-warp{
        position: relative;
    }
    // 注意此时md-main不设置width为100px
    .md-main{
        position: absolute;
        left: 50%;
        -webkit-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        -o-transform: translate(-50%,0);
        transform: translate(-50%,0);
    }

    直接使用text-align:center即可

    垂直居中

    和水平居中类似,只是把left:50%换成top:50%,副边距和transform属性进行对应更改即可

    优点:能在各个浏览器下工作,结构简单明了,不需要增加额外的标签

     .md-warp{
        position: relative;
    }
    .md-main{
        position: absolute;
        /* 核心 */
        top: 50%;
        margin-top: -50px;
    }

    不确定高度的时候

    .md-warp{
        position: relative;
    }
    .md-main{
        position: absolute;
        top: 50%;
        // 注意此时md-main不设置height为100px
        -webkit-transform: translate(0,-50%);
        -ms-transform: translate(0,-50%);
        -o-transform: translate(0,-50%);
        transform: translate(0,-50%);
    }

    需要满足两个条件:

    p{
        width: 400px;
        height: 300px;
        border: 1px solid #000;
    }
    span{
        line-height: 300px;
    }

    视窗单位的解决办法

    让元素在视窗中居中,使用vh实现

    .md-warp{
        position: relative;
    }
    .md-main{
        position: absolute;
        margin: 50vh auto 0;
        transform: translateY(-50%);
    }

    Flexbox的解决方案

    完成这项工作只需要两个样式,在需要水平垂直居中的父元素中设置display:flex和在水平存执居中的元素设置margin:auto

    .md-wrap{
        display:flex
    }
    .md-main{
        display:auto
    }

    Flexbox的实现文本的水平垂直居中同样很简单

     .md-warp{
        display:flex;
    }
    .md-main{
        display: flex;
      align-items: center;
      justify-content: center;
        margin: auto;
    }

    绝对垂直居中

    .md-wrap{
        position: relative;
    }
    .md-main{
        position:absolute;
        top:0'
        right:0
        bottom:0;
        left:0;
        margin:auto;
    }

    最好不要使用绝对定位,因为他对整体的布局影响相当的大

    相关教程推荐:CSS视频教程

    以上就是CSS面试题(参考)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:cnblogs,如有侵犯,请联系admin@php.cn删除
    专题推荐:CSS面试题
    上一篇:2021 CSS3面试题 下一篇:2021年CSS面试题汇总(最新)
    大前端线上培训班

    相关文章推荐

    • HTML css面试题_html/css_WEB-ITnose• 【css面试题】三个DIV要求水平对齐,左右两个DIV宽度固定为100px,中间那个DIV充满剩余的宽度(至少2种方法)• 经典CSS面试题• 七道重要CSS面试题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网