今日面试三题

这篇博客主要探讨了CSS布局的相关面试问题,包括块级元素的实际宽度、哪些属性会让元素脱离文档流,以及不同定位方式下元素距离body上边距的计算。内容详细解析了width、border、padding、background的作用,position属性的定位原理,以及margin、top属性在不同定位状态下的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日面试三题

1.下面关于CSS布局的描述,不正确的是?

A. 块级元素实际占用的宽度与它的 width 属性有关;
B.块级元素实际占用的宽度与它的 border 属性有关;
C.块级元素实际占用的宽度与它的 padding 属性有关;
D.块级元素实际占用的宽度与它的 background 属性有关.

正确答案:D

解析:

  • witdh:宽度
  • border:边框
  • padding:内边距
  • background:背景

在标准盒子模型下,块级元素的总宽度=左右padding+左右border+内容区的width,我们实际设置的width指的就是内容区的width,所以当改变padding、border、width中的任一项的时候,块元素的总宽度都会发生变化。而background只是对块级元素的背景做修饰,并不能改变大小

2.下面哪个属性不会让 div 脱离文档流(normal flow)?

A.position: absolute;
B.position: fixed;
C.position: relative;
D.float: left;

正确答案:C

解析:
文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。并最终窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素。脱离文档流即是元素打乱了这个排列,或是从排版中拿走 。

  • position: absolute;
    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位
  • position: fixed;
    生成绝对定位的元素,相对于浏览器窗口进行定位
  • position: relative;
    生成相对定位的元素,相对于其正常位置进行定位
  • float: left;
    浮动

综上,选择C选项

以下代码,分别给节点 #box 增加如下样式,问节点 #box 距离 body 的上边距是多少?

< body style=”margin:0;padding:0”>

< div id=”box” style=”top:10px;margin:20px 10px;”>

< /div>

< /body>

1.如果设置 position: static ; 则上边距为___px

2.如果设置 position: relative ; 则上边距为___px

3.如果设置 position: absolute ; 则上边距为___px

4.如果设置 position: sticky ; 则滚动起来上边距为___px

正确答案:
(1)20
(2)30
(3)30
(4)10

解析:

  • position: static,元素处于正常的文档流中,会忽略left、top、right、bottom和z-index属性,只有margin:20px 10px好使,margin-top为20px,所以上边距为20px
  • position: relative ; 元素设置相对于原本位置的定位,margin-top的20px加上top的10ox为30px
  • position: absolute 同上,只不过这个定位是脱离文档流的
  • position: sticky 元素未滚动,在当前可视区域他的top值不生效,只有margin生效,滚动起来后margin失效,top值生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值