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

yizhihongxing

实现两端对齐布局常常是前端开发的需求之一,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日

相关文章

  • jQuery iScroll.js 移动端滚动条美化插件第1/5页

    jQuery iScroll.js 移动端滚动条美化插件攻略 什么是iScroll.js插件 iScroll.js是一款轻量级的移动端滚动条美化插件,它基于jQuery库,可以快速地创建一个美观而且功能强大的滚动容器。相较于原生的滚动条,它具有更好的定制性和易用性,能够提高用户体验。 安装iScroll.js插件 你可以在下载iScroll.js插件压缩文件…

    css 2023年6月10日
    00
  • 几款好用的前端开发编辑器推荐安利

    下面是详细讲解“几款好用的前端开发编辑器推荐安利”的完整攻略。 几款好用的前端开发编辑器推荐安利 1. Visual Studio Code Visual Studio Code是由微软公司开发的一款非常受欢迎的轻量级文本编辑器。它支持多种编程语言,包括JavaScript、HTML、CSS、Python等,并且有着丰富的扩展库,可以实现代码高亮、语法检测、…

    css 2023年6月10日
    00
  • 英文教程:五种CSS选择器类型

    下面我将详细讲解“英文教程:五种CSS选择器类型”的完整攻略。 什么是CSS选择器 CSS选择器是一种用于选择HTML元素的方法。通过使用CSS选择器,我们可以在HTML文档中找到指定的元素或元素组,之后可以对这些元素进行样式的设置或操作。CSS选择器可以根据元素的标签名称、类名、ID、属性等特征来进行筛选和选取。 五种CSS选择器 以下是五种常用的CSS选…

    css 2023年6月9日
    00
  • JS+CSS实现网页加载中的动画效果

    下面是详细讲解JS+CSS实现网页加载中的动画效果的完整攻略: 1. 确定动画效果 在开始编写代码之前,我们需要确定需要实现的动画效果。在网页加载过程中,我们通常会展示一个加载动画来提示用户页面正在加载中,这样能够有效提高用户体验。 由于动画效果有很多种,我们可以选择一种比较简单的加载动画效果——旋转动画。这样做的好处是实现较为简单,效果也比较明显。 2. …

    css 2023年6月9日
    00
  • css position 设置元素的定位方式详解

    CSS position 的定位方式详解 什么是 CSS position ? CSS position 是用来设置元素定位方式的一个属性。当一个元素被设置了 position 属性之后,我们可以用 top、bottom、left 和 right 来确定它的位置。 一般来说,CSS position 有 4 种类型: static:静态定位,默认值。 rel…

    css 2023年6月9日
    00
  • Vue中transition标签的基本使用教程

    下面我来为您讲解一下Vue中transition标签的基本使用教程。 什么是Vue中的transition标签 在Vue中,transition标签是用于实现CSS过渡效果的标签,可以在元素在插入、更新或移除时自动应用过渡效果。 基本用法 下面是Vue中transition标签的基本模板: <transition name="fade&quo…

    css 2023年6月10日
    00
  • react的滑动图片验证码组件的示例代码

    下面就为大家讲解一下“react的滑动图片验证码组件的示例代码”的完整攻略。 1. 引入组件 首先,我们需要安装并引入react滑动图片验证码组件。在命令行中执行以下代码安装: npm install –save react-slide-captcha 在需要使用的页面中引入组件: import SlideCaptcha from ‘react-slide…

    css 2023年6月10日
    00
  • 在 Vue 中编写 SVG 图标组件的方法

    下面是详细讲解“在 Vue 中编写 SVG 图标组件的方法”的完整攻略。本攻略适用于 Vue 2.x 版本。 准备工作 创建项目 首先,我们需要创建一个新的 Vue 项目。在命令行中,通过如下命令来创建: vue create my-project 使用该命令创建一个新的 Vue 项目。如果您已经安装了 Vue CLI,那么您将会看到 CLI 提供了许多选项…

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