当前位置:首页 > 技术知识 > 正文内容

html+div+css布局实现两端对齐的4种方法总结

maynowei7个月前 (09-11)技术知识79

div+css布局实现两端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法:

html结构

实现demo里面的div通过Css进行两端对齐。

<div class="box">

<div class="demo">

<div>1</div>

<div>2</div>

<div>3</div>

</div>

</div>

1.margin负值的方式

该方法需要外面多嵌套一层来实现,通过元素的间距,做为中间层的margin溢出值来实现<style>

.box{

width:300px;margin:auto;overflow:hidden;border:1px solid #ddd;

}

.box .demo{

margin-left:-10px;width:310px

}

.box .demo div{

width:93.333px;/*(计算:(300-10*2)/3)*/

float:left;

margin-left:10px;

}

</style>

2.display:inline-block/text-align:justify方式

justify方式比较简单方便。只要一个简单元素做了声明,里面的元素就自动等间距两端对齐布局啦!根本无需计算每个列表元素间的margin间距,更不用去修改父容器的宽度。

注意一点:demo结构内元素必须存在【换行符】或【空格符】,否则直接连着写将不会生效

<style>

.demo{

margin:0;padding:0;

text-align:justify;

text-align-last:justify;/*解决IE的支持*/

line-height:0;/*解决标准浏览器容器底部多余的空白*/

}

@media all and (-webkit-min-device-pixel-ratio:0){

.demo{

font-size:0;/*webkit清除元素中使用[换行符]或[空格符]后,最后元素多余的空白*/

}

}

.demo:after{/*text-align-last:justify只有IE支持,标准浏览器需要使用 .demo:after 伪类模拟类似效果*/

display:inline-block;

overflow:hidden;

width:100%;

height:0;

content:'';

vertical-align:top;/*opera浏览器解决底部多余的空白*/

}

.demo div{

width:20%;

display:inline-block;

text-align:center;/*取消上层元素的影响*/

text-align-last:center;

font-size:12px;

}

</style>

3.css3 属性 space-between

该方法基于webkit内核的webapp开发和winphone IE10及以上,常用于移动端布局。

<style>

.demo{

display:-webkit-box;

display:-webkit-flex;

display:-ms-flexbox;

display:flex;

-webkit-box-pack:justify;

-webkit-justify-content:space-between;

-ms-flex-pack:justify;

justify-content:space-between;

}

.demo div{

width:30%;

}

</style>

4.css3属性column-count

column属性是多列布局,使用column来实现两端对齐只需要设置模块的个数跟column的列数一致即可,推荐使用于移动端布局

<style>

.demo{

-webkit-column-count:3;-moz-column-count:3;column-count:3;

-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;

}

.demo div{


}

</style>

相关文章

Axure RP设计顶部导航冻结,注册模块互切换,滚动条设计的方法

以下介绍几个常用小教程,还是那句话——内容简单,适合菜鸟查阅,老鸟可飘过,顺便帮忙点个赞哈一.顶部导航冻结,页面下拉可跟随例如:下拉网页进行浏览,顶部导航悬停,固定在顶部位置1.按照自己理解,拖动几个...

微软宣布SQL Server 2016,2005版将结束支持

IT之家讯 在芝加哥Ignite大会上,微软宣布了SQL Server 2016,并将于今年夏季发布公开预览版。SQL Server是由微软开发的关系型数据库管理系统,用于软件应用请求数据的存储和管理...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...

大厂 Go 编程规范(二):mutex(编程大厂是什么意思)

mutex 是golang 的互斥锁,可以保障在多协程的情况下,数据访问的安全。1、零值有效我们并不需要mutex指针mu := new(sync.Mutex) mu.Lock()直接可以使用mute...

C++26中同步与原子操作新变化(c++ 同步)

引言随着多核处理器和并发编程的普及,C++26进一步增强了对同步与原子操作的支持,为开发者提供了更高效、更安全的工具来应对多线程编程中的数据竞争与同步挑战。自C++11引入原子操作以来,C++标准库在...

go语言并发原语RWMutex实现原理及闭坑指南

1.RWMutex常用方法Lock/UnlockRLock/RUnlockRLocker 为读操作返回一个Locker接 口的对象2. RWMutex使用方法 func main() { var c...