HTML+CSS - 网页布局之多列布局定位

1. 多列布局

CSS中多列布局处理文本内容,特别适合对于长段落或者大量文本进行自动分栏显示

类似于grid分布,但相较之下更加简洁明了

基本语法

<div class="container"><p>这是一些示例文本,当我们使用 column-count 属性时,文本会被自动分成多列显示。无论是新闻文章、书籍段落,还是其他长段落内容,这种布局方式都非常实用。</p>
</div>

以下CSS代码都是通过上述HTML文档举例

 

1.1 定义文本分栏 

• column-count

指定文本分为几列

.container
{column-count: 3; /*将文本分为3列*/
}

• column-width

指定每一列的宽度,浏览器根据可用空间和指定宽度自动调整列数

.container
{column-gap: 20px; /*每一列之间的间隔*/
}

• column-gap

设置列之间的间距,如下代码所示,每一列之间的间距为20px

.container
{column-count:3;column-gap:20px;
}

• column-rule

为列之间添加分割线,创建方式与border相同,涵盖粗细,线段形式,颜色

这条分割线本身并不占用宽度,它置于用 column-gap 创建的间隙内。如果需要更多空间,你需要增加 column-gap 的值。

.container
{column-rule:4px dotted rgb(79,185,227);
}

1.2 实例

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>body{width:90%;max-width:900px;margin:2em auto;font:.9em/1.2 Arial, Helvetica, sans-serif;}.container{column-count:2;column-width:200px;column-gap:20px;column-rule:4px dotted rgb(79,185,227); /*这条分割线本身并不占用宽度。它置于用 column-gap 创建的间隙内。如果需要更多空间,你需要增加 column-gap 的值*/}.card{break-inside:avoid;background-color: #808080;border: 5px solid rgb(79,185,227);padding :10px}</style></head><body><h1>Simple multicol example</h1><div class='container'><div class='card'><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus aliquam dolor, eu lacinia lorem placerat vulputate.Duis felis orci, pulvinar id metus ut, rutrum luctus orci. Cras porttitor imperdiet nunc, at ultricies telluslaoreet sit amet. Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit amet orci vel, viverraegestas ligula. Curabitur vehicula tellus neque, ac ornare ex malesuada et. In vitae convallis lacus. Aliquamerat volutpat. Suspendisse ac imperdiet turpis. Aenean finibus sollicitudin eros pharetra congue. Duis ornareegestas augue ut luctus. Proin blandit quam nec lacus varius commodo et a urna. Ut id ornare felis, eget fermentumsapien.</p></div><div class='card'><p>Nam vulputate diam nec tempor bibendum. Donec luctus augue eget malesuada ultrices. Phasellus turpis est, posueresit amet dapibus ut, facilisis sed est. Nam id risus quis ante semper consectetur eget aliquam lorem. Vivamustristique elit dolor, sed pretium metus suscipit vel. Mauris ultricies lectus sed lobortis finibus. Vivamus euurna eget velit cursus viverra quis vestibulum sem. Aliquam tincidunt eget purus in interdum. Cum sociis natoquepenatibus et magnis dis parturient montes, nascetur ridiculus mus.</p></div></div></body>
</html>

2. 定位

2.1 静态定位

静态定位是每个元素获取的默认值——它只是意味着“将元素放入它在文档布局流中的正常位置——这里没有什么特别的。

.positioned {position: static;background: yellow;
}

2.2 相对定位

相对定位定义元素的位置根据其默认位置相对得来

		.positioned{position:relative; /*根据初始位置进行调整*/background:yellow;top:30px;

使用top,bottom,left,right进行定位,对于相对位置而言,具体位置与所设定元素为反方向,像一双无形的手推了过去。

这些属性的值可以采用逻辑上期望的任何单位——px、mm、rem、% 等。

2.3 绝对定位

它们指定元素应距离每个包含元素的边的距离,而不是指定元素应该移入的方向。

绝对定位的元素不再存在于正常文档布局流中。相反,它坐在它自己的层独立于一切。

.positioned {position: absolute;top:10px;left:10px;background: yellow;
}

2.4 元素重叠处理

当元素开始重叠,我们需要考虑各个元素的层级结构。

让我们想象整个网页是三维空间,网页内容代表X,Y轴,Z轴表示高度

z-index参数应运而生

值影响定位元素位于该轴上的位置;正值将它们移动到堆栈上方,负值将它们向下移动到堆栈中。默认情况下,定位的元素都具有 z-index 为 auto,实际上为 0。

z-index: 1; /*元素向上*/

2.5 固定定位

绝对定位将元素固定在相对于其位置最近的祖先。(如果没有,则为初始包含它的块)而固定定位固定元素则是相对于浏览器视口本身。使用鼠标滚动,该定位将会一直保持

		h1{position:fixed;top:0;width:500px;margin:0 auto;background:white;padding:10px;}

为了使得首行文本可以看见,定义top-margin即可

2.6 sticky定位

类似于相对位置与固定定位的混合体

它允许被定位的元素表现得像相对定位一样,直到它滚动到某个阈值点(例如,从视口顶部起 10 像素)为止,此后它就变得固定了。

		.positioned{position:sticky;top:1px;left:30px;}

top与left表示滑动界面时的固定位置

3. 参考资料

弹性盒子 - 学习 Web 开发 | MDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141908.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

CGAL GIS 应用 - 从点云到DTM

CGAL GIS 应用 - 从点云到DTM GIS应用中使用的许多传感器(例如激光雷达)都会生成密集的点云。此类应用通常利用更高级的数据结构:例如&#xff0c;不规则三角网(TIN)&#xff0c;它可以作为数字高程模型(DEM)的基础&#xff0c;特别是用于生成数字地形模型(DTM)。 点云也可以通…

SOMEIP_ETS_111: SD_Empty_Entries_Array

测试目的&#xff1a; 验证DUT能够忽略声明了条目数组长度为零的SubscribeEventgroup消息。 描述 本测试用例旨在确保DUT在接收到一个Entries数组长度为零的SubscribeEventgroup消息时&#xff0c;能够正确地忽略该消息&#xff0c;不对其进行解释或响应。 测试拓扑&#x…

移动UI案例:工具类app整套案例

工具类App是指提供各种实用工具和功能的手机应用程序。这些工具可以包括但不限于日历、闹钟、备忘录、翻译、计算器、单位转换、天气预报、地图导航、音乐播放器、相机、视频编辑等。这些工具类App能够帮助用户解决日常生活和工作中的各种问题&#xff0c;提高效率和便利性。 …

基于是springboot小区物业管理系统

小区物业管理系统 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于小区物业管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了小区物业管理系统&#x…

Redis的存储原理和数据模型

一、Redis是单线程还是多线程呢&#xff1f; 我们通过跑redis的代码&#xff0c;查看运行的程序可以得知&#xff0c;Redis本身其实是个多线程&#xff0c;其中包括redis-server&#xff0c;bio_close_file&#xff0c;bio_aof_fsync&#xff0c;bio_lazy_free&#xff0c;io_t…

猫头虎分享:Python库 SQLAlchemy 的简介、安装、用法详解入门教程

&#x1f42f; 猫头虎分享&#xff1a;Python库 SQLAlchemy 的简介、安装、用法详解入门教程 大家好&#xff0c;我是猫头虎&#xff01;今天有粉丝问猫哥&#xff1a;“在项目开发中如何高效地进行数据库操作&#xff1f;是否有一个灵活又强大的ORM库推荐&#xff1f;”正好&…

[Linux] 进程优先级 进程的调度与切换 环境变量详解

进程优先级 && 进程的调度与切换 && 环境变量 1.进程优先级1.1查看进程1.2 PRI VS NI1.3用指令调整优先级 2.进程的调度与切换2.1 进程切换2.2 linux实现进程调度的算法 3.环境变量前言引入&#xff08;main参数--命令行参数&#xff09;3.1 环境变量3.2 PATH环…

题目:单调栈

1、关于栈的概述 栈是一种数据结构&#xff0c;遵循“后进先出”&#xff08;LIFO, Last In, First Out&#xff09;的原则。这意味着最后被插入栈中的元素会最先被移除。可以把它想象成一个垒盘子的情况&#xff0c;新的盘子总是放在最上面&#xff0c;而最上面的盘子会最先被…

4------维修手机工具 解锁 刷机 保资料修复 修改参数等多工具合集 工具预览与操作解析

此款工具可能很多维修技术都使用过。早期知名手机维修加密狗。目前已经修改为可以任何人使用。此工具集合了多个版本以及加密狗工具。所谓的这些手机维修仪器工具。只是把很多工具直接整合到他里面。然后按需运行。其实查看解压后的文件会在其中找到有些小工具集合。类似基带修…

英文翻译无忧:2024年四大翻译工具推荐!

在全球化时代&#xff0c;英语已成为国际交流的重要语言。对于许多英语非母语的伙伴来说&#xff0c;一款好用的英文翻译工具至关重要。今天&#xff0c;小编为大家盘点几款实用的英文翻译工具&#xff01; 福昕在线翻译 直达链接&#xff1a;fanyi.pdf365.cn/ 福昕在线翻译…

基于51单片机的220V交流数字电流表proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1QmpPLvDTuW7QG7P-JCLPPg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…

vulkano (rust) 画一个三角形 (vulkan 渲染窗口初始化 (Linux) 下篇)

上文说到, vulkan 相比 OpenGL (ES), 更加贴近底层硬件, 许多东西需要应用软件手动管理, 所以 vulkan 的初始化过程比较麻烦, 或者说学习曲线比较陡峭. 但是, 这种麻烦是一次性的, 一旦学会了, 就能开始享受 vulkan 的诸多好处啦 ~ 本文以绘制一个三角形为例, 介绍 vulkan 的初…

DBA运维小技巧之存储篇-Oracle服务器根目录满了怎么处理(2)迁移至新存储空间

1 前情提要 话说上次DBA小倩通过删除home lv&#xff0c;把空间扩给了/分区&#xff0c;问题暂时得到了解决。 没过几天&#xff0c;领导找到小倩下达任务&#xff0c;客户说数据库在本地磁盘空间太小了又快要满了&#xff0c;由于之前用的服务器本地磁盘&#xff0c;性能也比…

信息安全工程师(5)域名与域名解析

一、域名 1. 定义与功能 域名&#xff08;Domain Name&#xff09;是互联网上用于标识网站或服务器地址的名称&#xff0c;由一串由点分隔的字符组成&#xff0c;如“example.com”。域名的主要功能是提供一种便于记忆和输入的地址形式&#xff0c;以代替难以记忆的IP地址。域名…

【软件测试】肇新合同管理系统 需求说明书

1 引言 1.1 编写目的 本文档将列举实现合同管理系统所需要的全部功能&#xff0c;并对每个功能给出简单的描述。 本文档的预期读者包括&#xff1a;最终用户&#xff0c;项目负责人&#xff0c;评审人员&#xff0c;产品人员&#xff0c;软件设计开发人员&#xff0c;测试人员…

linux网络编程——UDP编程

写在前边 本文是B站up主韦东山的4_8-3.UDP编程示例_哔哩哔哩_bilibili视频的笔记&#xff0c;其中有些部分博主也没有理解&#xff0c;希望各位辩证的看。 UDP协议简介 UDP 是一个简单的面向数据报的运输层协议&#xff0c;在网络中用于处理数据包&#xff0c;是一种无连接的…

OpenAI o1:AI推理的未来,如何平衡性能与成本?

OpenAI o1&#xff1a;AI推理的未来&#xff0c;如何平衡性能与成本&#xff1f; &#x1f680;人工智能的未来&#xff0c;已经悄然走向一个新的拐点&#xff01;9月14日&#xff0c;OpenAI正式推出了两款新型模型——o1-preview与o1-mini。虽然这并非是GPT-4的简单升级版&am…

Python 从入门到实战19(函数参数)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了函数的基本介绍。今天我们继续学习一下函数参…

java坏境搭建

目录 安装 步骤1 步骤2 步骤3 步骤4 环境变量 1、在桌面“计算机”或“此电脑”图标上右键&#xff0c;选择“属性”&#xff0c;进入控制面板的计算机系统页面后&#xff0c;点击“高级系统设置”&#xff0c;不同操作系统可能界面不同&#xff1a; 2、点击“环境变量”…

铝型材及其常用紧固件、连接件介绍

铝型材介绍&#xff08;包括紧固件和连接件以及走线&#xff09; 铝型材 铝型材一般是6063铝合金挤压成型&#xff0c;分为欧标和国标两个标准。&#xff08;左边国标&#xff0c;右边欧标&#xff0c;欧标槽宽一点&#xff09; 由于槽型不一样&#xff0c;相关的螺栓和螺母也…