CSS面试题

本文探讨了行内块元素间距调整的多种方法,如父元素font-size设为0、子元素浮动、弹性盒子和转换为块级元素。同时讲解了图片和文字的水平对齐方式,以及清除浮动的不同策略。深入剖析了BFC的概念及其实现方式,介绍了弹性盒子的常用属性,并列举了垂直居中的各种手段。此外,还比较了行内元素与块元素的区别,涵盖了盒模型、伪类选择器和样式继承等内容。
摘要由CSDN通过智能技术生成

行内块间距的处理方式

1.父元素 font-size:0
2.子元素浮动
3.弹性盒子
4.转为块元素

图片和文字水平对齐方式

1.图片display:block
2.vertical-align:middle 居中对齐 top上对齐

清除浮动的几种方法

1.伪类清除
给最后一个浮动的元素添加一个伪类 content:'' display:block clear:both
2.给父元素添加高度
3.让父元素 overflow:hidden
4.让父元素也浮动
5.父元素有绝对定位时不需要清除浮动

BFC

BFC就是块级格式化上下文
目的就是形成一个完全独立的空间,让空间的子元素不会影响到外边的布局

形成bfc的方式

1.float不为none
2.postion不为relative和static
3.overflow为auto scroll和hidden
4.display的值为inline-block

弹性盒子的常用属性

容器属性

justify-content 设置主轴上 子元素的对齐方式
align-items 设置交叉轴上子元素的对齐方式
flex-direction 设置主轴的方向
flex-wrap 一行放不下时是否换行
flex-flow 以上两个属性的复合写法

项目属性

flex-shrink 一行放不下时是否允许自己缩小
flex-grow 一行用不完时是否允许自己放大
flex-bass 属性定义了在分配多余空间之前,项目占主轴的空间
align-self 可以设置单个子项在交叉轴上的对齐方式 会覆盖父元素的 align-items
order 排序 数值越小越靠近主轴开始的地方

垂直居中的几种方式

1.定位+平移自身的50%
2.设置行高 line-height
3.使用弹性盒子 align-items: center;

行内元素与块元素的区别

1.行内元素默认不换行 当一行放不下了会另起一行 不能设置宽高 宽高由内容决定
2.块元素默认独占一行 可以设置宽高 不设置宽度时 默认继承父元素的宽度
3.行内块元素 同行显示 可以设置宽高 <input></input> <img src=""' />

盒模型

标准盒模型 box-sizing:content-box
在标准的盒子模型中,宽高指content部分的宽高
IE盒模型 box-sizing:border-box
在IE盒子模型中,宽高表示content+padding+border这三个部分的宽高

伪类选择器有哪些

  1. :hover 鼠标悬停在元素上时的效果
  2. :focus 当光标获取到焦点时的效果(点击)
  3. :before 在元素之前
  4. :after 在元素之后

哪些样式会继承

1.font系列
font-size 字体大小
font-family 设置文本字体
font-weight 设置字体粗细
2.text系列
text-align 规定文本在块元素中的对齐方式 'left' 'center' 'right'
text-indent:2em(缩进两个字节) 设置块元素中 首行文本缩进
text-decoration 设置文本修饰
underline 定义文本下的一条线
overline 定义文本上的一条线
line-through 删除线
3.color
4.line-height
高度和a标签不可被继承

文本默认不换行 超出部分显示省略号

overflow:hidden
white-space:nowrap
text-overflow:ellipsis

两种隐藏显示元素的方式与区别

1.display 使用此属性之后元素不存在了,元素占据的位置也不存在。 会产生回流与重绘
display:none 隐藏
display:block 显示
2.visibility 使用此属性之后元素不存在了,元素占据的位置依然存在 不会产生回流与重绘
visibility:visible
visibility:hidden`

移动端 1px 边框像素问题

一、 1px边框的问题: 在某些机型的浏览器中显示的有点粗

二、 解决方案: 伪元素 + transform来解决

三、实例1: 加单个边框: (用伪元素创建一个高为1px的盒子,再用transform在y方向上缩小到一半)

 

.box {
    position: relative;
}
.box::after  {
    position: absolute;
    top: 0;
    left: 0
    content: '';
    width: 100%;
    height: 1px;
    background: red;
    transform: scale(1,0.5)
}

px与rem 与 em

px 是绝对单位
em 是相对单位 相对于父元素
rem 是相对单位 相对于html根元素
假如 html 的 font-size是50rpx
1rem = 50rpx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值