css有关面试题

实现一个盒子在父盒子内的垂直水平居中

//父相子绝后,子分部向左向上移动本身宽度和高度的一半(也可以用 transform:translate(-50%,-50%))最常用方法

     #child{
         position: absolute;
         left: 50%;
         top: 50%;
         margin-left: -100px;
         margin-top: -100px;
         //transform:translate(-50%,-50%) //不知道子盒子宽高情况下
     }

//弹性布局方法 父盒子添加如下代码
#parent{
	display: flex;
    justify-content: center;
    align-items: center;
}

//定位+外边距适应法 
#child{
	position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

如果你在项目中引入一段html代码,怎么给它设置样式?

样式穿透

在这里插入图片描述

正则替换

把html代码在需要修改的标签使用正则替换为带有行内样式的标签(治标不治本)

res.data.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto" ')

rem,em,vh,px各种代表的意义?

rem
基于根元素的font-size大小

em
基于父元素的font-size大小

vw/vh
全称是Viewport Width和 Viewport Height,视图的宽度和高度
1vw/1vh相当于1%。

px
像素单位,相对长度单位,相对于显示器屏幕分辨率而言。
1920*1024 前者是屏幕宽度总共有1920个像素,后者则是高度为1024个像素

画一条0.5px的直线?

//css3 transform 

height: 1px;
transform: scale(0.5);

盒模型

标准盒模型:content-box

  width指内容部分的高度,使用padding,boder会使盒子向外扩张

怪异盒模型:border-box

  width=content+padding+border,使用padding,会将内容向内挤压,不会撑大盒子

盒模型切换:
box-sizing的默认属性是content-box

  box-sizing: content-box 是W3C盒子模型
  box-sizing: border-box 是IE盒子模型

画一个三角形

//宽高为0的空盒子
//边框为100px,盒子由边框撑起来
//盒子为实线
//transparent  透明色  三边透明,一边上色,

            width: 0;  
            height: 0;
            border-width: 100px;
            border-style: solid;
            border-color: transparent #0099CC transparent transparent;
            transform: rotate(90deg); /*顺时针旋转90°*/

清除浮动的几种方式

情况说明: 父盒子因为子盒子浮动脱离标准文档流,导致父盒子高度崩塌

解决思路

BFC

  BFC (块级格式化上下文),是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。
//父盒子
overflow:hidden;

父盒子设置高度

height:100px;

伪元素清除浮动

:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
        content: "";
        display: block;
        height: 0;
        clear:both;
        visibility: hidden;
    }
.clearfix{
        *zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
    }
    

clean:both;

额外标签法: 给谁清除浮动,就在其后额外添加一个空白标签 。

//html
<div class="clear">额外标签法</div>
//css
.clear{
        clear:both;
    }

轻松实现hover图片变成另外一张图片

img:hover {
	content: url(xxx.jpg);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值