【CSS】定位、多列布局及响应式布局

根据MDN网站学习记录笔记


定位

定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为。

有许多不同类型的定位,您可以对HTML元素生效。要使某个元素上的特定类型的定位,我们使用position属性

定位(positioning)能够让我们把一个元素从它原本在正常布局流(normal flow)中应该在的位置移动到另一个位置。

注意:定位的标题不再出现在文档流中,所以其他内容向上移动到顶部。

  • 静态定位:是默认属性—表示“将元素放在文档布局流的默认位置。
  • 相对定位:允许相对于元素在正常的文档流中的位置移动它。
  • 绝对定位:将元素完全从页面的正常布局流(normal layout flow)中移出。相对于 <html> 元素或其最近的定位祖先。

定位上下文 —— 绝对定位的元素的相对位置元素。通过设置其中一个父元素的定位属性 —— 也就是包含绝对定位元素的那个元素。

当多个元素因为都设置了定位而重叠时,可以使用z-index属性改变堆叠顺序。z-index只接受无单位索引值

z-index是对z轴的参考,z轴可以想象成屏幕到使用者脸部的一条直线,正值将它们移动到堆栈上方,负值将它们向下移动到堆栈中。


  • 固定定位:与绝对定位非常类似,但是它是将一个元素相对浏览器视口固定。 这在创建类似在整个页面滚动过程中总是处于屏幕的某个位置的导航菜单时非常有用。

  • 粘性定位:让元素先保持和position: static一样的定位,当它的相对视口位置达到某一个预设值时,他就会像position: fixed一样定位。

多列布局

实现多列布局

  • column-count 创建指定数量的列
.container {
   
  column-count: 3;
}
  • column-width 按照指定的宽度创建尽可能多的列,剩余空间被现有列平分。
.container {
   
  column-width: 200px;
}

增加样式

Multicol 创建的列无法单独的设定样式。

  • 使用 column-gap 改变列间间隙。
.container {
   
  column-width: 200px;
  column-gap: 20px;
}
  • column-rule 在列间加入一条分割线。
    类似于border属性,column-rulecolumn-rule-colorcolumn-rule-style的缩写,接受同 border 一样的单位。
.container {
   
  column-count: 3;
  column-gap: 20px;
  column-rule: 4px dotted rgb(79, 185, 227);
}

列/内容折断

把内容放入多列布局容器内,内容被拆成碎块放进列中,内容折断。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值