CSS columns实现两端对齐布局的示例代码

实现两端对齐布局常常是前端开发的需求之一,CSS columns提供了一种简便的方式来实现。下面进行详细讲解:

什么是CSS columns?

CSS columns是CSS3的一个模块,它使得文本流可以按照指定的列数进行排版。它可以对任意的块状元素进行拆分,使得文本像报纸一样分布在列中,还可以自动分页。CSS columns还支持分列后实现两端对齐排版。

实现两端对齐布局的示例代码

代码示例1:利用CSS columns + text-align:justify 实现两端对齐

.container {
    columns: 2; /* 列数 */
    text-align: justify; /* 两端对齐 */
    column-gap: 20px; /* 列间距 */
}

上面的代码用CSS columns将元素拆分成两列,并使用text-align:justify实现两端对齐。同时通过设置column-gap属性实现列间距。

代码示例2:利用CSS columns + :after 伪元素 实现两端对齐

.container {
    columns: 2; /* 列数 */
    text-align: justify; /* 两端对齐 */
    column-gap: 20px; /* 列间距 */
}

.container::after {
    content: "";
    display: inline-block;
    width: 100%;
}

上面的代码利用CSS columns的列数和text-align:justify实现了两端对齐,同时通过一个隐藏的伪元素:after,使得最后一列内容水平撑开。

示例说明

示例1

HTML代码

<div class="container">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et elit quis nulla feugiat tincidunt eu non mauris. Sed vestibulum lectus ligula, vitae dignissim arcu gravida vel. Sed blandit massa ut sapien aliquet, ut bibendum metus vestibulum. Suspendisse at ex blandit, lobortis justo vel, molestie tellus. Cras maximus lectus quis velit laoreet scelerisque. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed et tellus iaculis, rhoncus ante vel, placerat sem. Donec turpis est, elementum a congue at, hendrerit sed tortor. Curabitur id blandit urna, at sodales dui. Aliquam erat volutpat. Suspendisse potenti. In tincidunt, sapien non vestibulum dignissim, arcu purus semper orci, vel condimentum velit nisl eget purus. Duis et eleifend urna, vel euismod nibh. Nulla facilisi.</p>
    <p>Phasellus posuere urna ex, quis pretium tellus pellentesque ac. Proin aliquet magna ac est pharetra congue. Praesent ut sem non justo ornare ultricies ut vel libero. Ut vulputate eget justo malesuada lobortis. Donec tempor rhoncus sapien, ut hendrerit ex vehicula eu. Sed ante tellus, gravida ut sapien vitae, volutpat tempus dolor. Praesent ultrices a purus sit amet sagittis. Nulla facilisi. Vestibulum rutrum libero euismod orci ullamcorper, ullamcorper iaculis nibh vulputate. Donec quis purus eu velit egestas imperdiet sed vitae ipsum. Suspendisse id fermentum lorem. Nulla vel est elit. In metus lectus, faucibus sit amet sollicitudin vitae, euismod a ipsum. Duis faucibus nibh id bibendum semper. Donec ullamcorper vel odio eget vulputate. Fusce blandit nisi velit, eget sodales ex fringilla at. Aliquam ut massa vel purus sodales suscipit.</p>
    <p>Donec ut libero pulvinar, ornare felis non, hendrerit neque. Nulla lobortis accumsan dui. Mauris tempor sagittis augue at fringilla. Aliquam dignissim faucibus lacus, vitae finibus quam sagittis id. Nullam lorem orci, pellentesque in nunc sed, dictum malesuada diam. Etiam in lobortis lacus. Maecenas nulla mi, pharetra a urna id, vestibulum suscipit nulla. Sed eget elementum metus. Duis id mi orci. Sed eget nisl in sapien consectetur ultrices a in dolor. Integer sollicitudin libero nec sapien consectetur, at ultricies leo gravida.</p>
</div>

CSS代码

.container {
    columns: 2; /* 列数 */
    text-align: justify; /* 两端对齐 */
    column-gap: 20px; /* 列间距 */
}

示例2

HTML代码

<div class="container">
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et elit quis nulla feugiat tincidunt eu non mauris. Sed vestibulum lectus ligula, vitae dignissim arcu gravida vel. Sed blandit massa ut sapien aliquet, ut bibendum metus vestibulum. Suspendisse at ex blandit, lobortis justo vel, molestie tellus. Cras maximus lectus quis velit laoreet scelerisque. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed et tellus iaculis, rhoncus ante vel, placerat sem. Donec turpis est, elementum a congue at, hendrerit sed tortor. Curabitur id blandit urna, at sodales dui. Aliquam erat volutpat. Suspendisse potenti. In tincidunt, sapien non vestibulum dignissim, arcu purus semper orci, vel condimentum velit nisl eget purus. Duis et eleifend urna, vel euismod nibh. Nulla facilisi.</p>
    <p>Phasellus posuere urna ex, quis pretium tellus pellentesque ac. Proin aliquet magna ac est pharetra congue. Praesent ut sem non justo ornare ultricies ut vel libero. Ut vulputate eget justo malesuada lobortis. Donec tempor rhoncus sapien, ut hendrerit ex vehicula eu. Sed ante tellus, gravida ut sapien vitae, volutpat tempus dolor. Praesent ultrices a purus sit amet sagittis. Nulla facilisi. Vestibulum rutrum libero euismod orci ullamcorper, ullamcorper iaculis nibh vulputate. Donec quis purus eu velit egestas imperdiet sed vitae ipsum. Suspendisse id fermentum lorem. Nulla vel est elit. In metus lectus, faucibus sit amet sollicitudin vitae, euismod a ipsum. Duis faucibus nibh id bibendum semper. Donec ullamcorper vel odio eget vulputate. Fusce blandit nisi velit, eget sodales ex fringilla at. Aliquam ut massa vel purus sodales suscipit.</p>
    <p>Donec ut libero pulvinar, ornare felis non, hendrerit neque. Nulla lobortis accumsan dui. Mauris tempor sagittis augue at fringilla. Aliquam dignissim faucibus lacus, vitae finibus quam sagittis id. Nullam lorem orci, pellentesque in nunc sed, dictum malesuada diam. Etiam in lobortis lacus. Maecenas nulla mi, pharetra a urna id, vestibulum suscipit nulla. Sed eget elementum metus. Duis id mi orci. Sed eget nisl in sapien consectetur ultrices a in dolor. Integer sollicitudin libero nec sapien consectetur, at ultricies leo gravida.</p>
</div>

CSS代码

.container {
    columns: 2; /* 列数 */
    text-align: justify; /* 两端对齐 */
    column-gap: 20px; /* 列间距 */
}

.container::after {
    content: "";
    display: inline-block;
    width: 100%;
}

通过上述代码示例我们可以看到,通过CSS columns可以实现两端对齐布局,代码量很少,且效果非常好。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS columns实现两端对齐布局的示例代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • vue项目引入百度地图BMapGL鼠标绘制和BMap辅助工具

    下面将详细说明如何在Vue项目中引入百度地图BMapGL鼠标绘制和BMap辅助工具。 步骤一:安装依赖 首先,需要在项目中安装百度地图JavaScript API,具体代码如下所示: npm install bmapgl –save 步骤二:引入百度地图相关的JS和CSS文件 在Vue项目中,可以在index.html文件中引入: <!DOCTYPE…

    css 2023年6月10日
    00
  • 利用JavaScript实现网页版2048小游戏

    接下来我将为您讲解如何利用JavaScript实现网页版2048小游戏的完整攻略。 1. 确定游戏规则 首先我们需要确定游戏规则,根据规则来实现游戏逻辑。2048游戏的规则如下: 游戏棋盘为4*4的方格,初始时随机生成两个数字2。 每次可以进行上下左右四个方向的移动,当同一方向上有相同数字的两个格子相邻时,它们会合并成一个格子,该格子上的数字为两个格子上数字…

    css 2023年6月11日
    00
  • 需灵活掌握的Bootstrap预定义排版类 你精通吗?

    Bootstrap是一个广泛应用于Web开发项目的前端框架,其提供了大量的预定义排版类,可以极大地提高Web页面的开发效率。其中一些常用、常见的预定义排版类是必须要熟练掌握的。 需灵活掌握的Bootstrap预定义排版类 文字相关的预定义排版类 Bootstrap提供了大量的预定义排版类,用来控制文字的大小、颜色、字体等属性。其中一些常用的预定义排版类包括:…

    css 2023年6月9日
    00
  • 基于vue和bootstrap实现简单留言板功能

    下面我将为您详细讲解如何基于vue和bootstrap实现简单留言板功能的完整攻略。 环境准备 在开始之前,我们需要确保环境已经准备好,并且已经安装以下工具: Node.js Vue CLI Bootstrap 如果您还没有安装这些工具,可以访问以下链接下载并安装: Node.js:https://nodejs.org/ Vue CLI:https://cl…

    css 2023年6月11日
    00
  • jquery实现可点击伸缩与展开的菜单效果代码

    这里简单讲解一下如何使用jQuery实现可点击伸缩与展开的菜单效果。 概述 这里将展示如何通过jQuery来实现一个可点击伸缩与展开的菜单效果,步骤如下: HTML结构:设置菜单的HTML结构,包含一级菜单和二级菜单。 CSS样式:设置菜单的样式,使之具备可伸缩和展开的效果。 jQuery脚本:通过jQuery脚本来实现菜单的点击伸缩与展开效果。 HTML结…

    css 2023年6月10日
    00
  • CSS 类选择符和ID选择符的区别

    CSS 类选择符和ID选择符都属于选择器,用于为HTML元素添加样式。它们的使用方法和语法都很相似,但是在实际使用中,它们有着不同的用途和限制。 1. ID选择符 ID选择符用于选择具有唯一标识符的HTML元素,这个标识符是通过id属性来指定的。ID选择符的语法是 #id_name,其中,id_name是标识符的名称。举个例子,下面是一个拥有id属性的HTM…

    css 2023年6月9日
    00
  • 浅谈CSS响应式图片运用中的srcset属性

    下面是详细讲解关于“浅谈CSS响应式图片运用中的srcset属性”的完整攻略以及两个示例说明。 什么是响应式图片 响应式图片是指在不同设备上,自动调整图片大小以适应不同的屏幕和分辨率,从而提高用户体验和页面性能。网站设计师和开发人员可以使用响应式图片来根据设备屏幕大小和分辨率的不同,为不同的用户提供可视化的体验。 srcset 属性的运用 srcset 属性…

    css 2023年6月10日
    00
  • xmlplus组件设计系列之图标(ICON)(1)

    XMLPlus组件设计系列之图标(ICON)(1) 简介 本文介绍XMLPlus组件中图标(ICON)的设计和使用。 设计 XMLPlus中的图标(ICON)是一种可重用的组件,用于在网站中显示图标以增加用户对功能的辨识度和易用性。图标(ICON)组件的设计应该基于以下原则: 清晰明了:图标应该清晰、简洁,能够通过色彩、形状等方式反映所代表的功能。 可重用:…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部