全部学科
Python全栈
python
NodeJS全栈
nodejs

CSS布局

20 题 50 分钟 难度:★

考察知识点

  • 浮动布局:float属性、清除浮动、BFC高度塌陷
  • 定位布局:position属性、z-index层叠上下文
  • Flexbox布局:flex容器与子元素属性、主轴与交叉轴对齐
  • Grid布局:grid-template、fr单位、gap间距、区域命名
💡 参考答案在文末
判断题
1

CSS中的position属性用于控制元素的定位方式,默认值是static,表示元素按照正常文档流进行布局。

A

B

2

CSS Grid布局是一种二维布局模型,可以同时控制行和列两个方向的元素排列,非常适合用于页面整体布局和复杂网格设计。

A

B

3

在Flex容器中,默认情况下子元素不会换行,即使设置了固定宽度。要允许子元素换行显示,需要设置flex-wrap属性为wrap。

A

B

4

CSS中的浮动(float)属性最初设计用于实现文字环绕图片效果,浮动元素会脱离正常文档流,但仍会影响周围行内元素的布局。

A

B

5

CSS Flexbox是一种一维布局模型,它可以在一个方向上(行或列)排列子元素,适合处理组件级别的布局需求。

A

B

6

浮动元素会导致父元素高度塌陷,这是因为浮动元素完全脱离了文档流,父元素在计算高度时不会考虑浮动子元素的高度。

A

B

单选题
7

在CSS中,以下哪个属性值可以将容器设置为Flex布局?

A

display: flexbox

B

display: flex

C

display: flexible

D

display: box-flex

8

在CSS Grid布局中,fr单位表示什么?

A

固定像素值

B

百分比值

C

剩余空间的份数

D

视口宽度的百分比

9

以下哪个CSS属性用于设置Grid子元素之间的间距?

A

grid-spacing

B

gap

C

grid-margin

D

cell-padding

10

以下关于CSS定位的说法,哪个是正确的?

A

relative定位的元素相对于视口进行偏移

B

absolute定位的元素相对于body元素进行定位

C

absolute定位的元素相对于最近的非static定位祖先元素定位

D

fixed定位的元素相对于其父元素定位

11

以下CSS代码创建了几列的Grid布局?

CSS
.container {
  display: grid;
  grid-template-columns: 100px 200px 100px;
}
A

2列

B

3列

C

4列

D

不确定

12

以下哪个不是CSS中float属性的有效值?

A

left

B

right

C

center

D

none

13

以下哪种方式不是清除浮动的有效方法?

A

在浮动元素后添加空元素并设置 clear: both

B

父元素设置 overflow: hidden

C

父元素设置 display: inline-block

D

使用伪元素 ::after 并设置 clear: both

多选题
14

CSS的flex简写属性可以一次性设置哪些属性?

A

flex-grow

B

flex-shrink

C

flex-basis

D

flex-direction

15

以下哪些是CSS中clear属性的有效值?

A

left

B

right

C

both

D

none

16

以下哪些是Grid容器的有效属性?

A

justify-items

B

align-items

C

place-items

D

grid-align

填空题
17

在Flex布局中,主轴和交叉轴的对齐由不同属性控制:

CSS
.container {
  display: flex;
  /* 主轴方向对齐 */
  ____________: center;
  /* 交叉轴方向对齐 */
  ____________: center;
  /* 主轴方向:水平排列 */
  flex-direction: row;
}
18

当父元素只包含浮动子元素时,父元素的高度会塌陷为0。这是因为浮动元素脱离了正常文档流。解决方法之一是让父元素创建 ____________(块级格式化上下文)。

常见的触发方式包括:

  • overflow 值为 hidden 或 ____________
  • display 值为 flow-root 或 ____________ 或 grid
19

补全以下CSS定位代码:

CSS
/* 固定定位 - 元素固定在视口指定位置 */
.fixed-box {
  position: !!1_fixed!!;
  top: 20px;
  right: 20px;
}

/* 粘性定位 - 滚动时切换定位方式 */
.sticky-header {
  position: !!2_sticky!!;
  top: 0;
}

/* 绝对定位 - 相对于定位祖先 */
.absolute-box {
  position: !!3_absolute!!;
  top: 50%;
  left: 50%;
}
20

使用repeat函数简化以下Grid代码:

CSS
/* 原代码 */
.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* 简化后 */
.container {
  display: grid;
  grid-template-columns: !!1_repeat(4, 1fr)!!;
}

repeat函数还可以与auto-fit配合使用:

CSS
.grid {
  grid-template-columns: !!2_repeat(auto-fit, minmax(200px, 1fr))!!;
}
参考答案
1.正确 2.正确 3.正确 4.正确 5.正确 6.正确 7.B 8.C 9.B 10.C 11.B 12.C 13.C 14.A;B;C 15.A;B;C;D 16.A;B;C 17.justify-content;align-items 18.BFC;auto;flex 19.fixed;sticky;absolute 20.repeat(4, 1fr);repeat(auto-fit, minmax(200px, 1fr))
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 CSS容器查询
下一套试卷 → CSS性能优化专题测试
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码