css如何让浮动元素水平居中


Posted in Javascript onAugust 07, 2015

对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题。解决水平居中问题有很多种方法,下面先给大家分享一下三种方法,希望能帮助到大家。

方法一:

1、HTML 部分:

<div class="box">
 <p>我是浮动的</p>
 <p>我也是居中的</p>
</div>

2、CSS 部分:

.box{
 float:left;
 position:relative;
 left:50%;
}
p{
 float:left;
 position:relative;
 right:50%;
}

这样看来就很简单了吧,父元素和子元素同时左浮动,然后父元素相对左移动50%,再然后子元素相对右移动50%,或者子元素相对左移动-50%也就可以了。如此简单如此神奇。

方法二:

HTML 代码

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>页面浮动元素的水平居中</title>
<style type="text/css">
 .clearfix:after { content:""; height:0; visibility:hidden; display:block; clear:both; }
 .clearfix { zoom:1; }
 .wrap { margin:20px auto; padding:10px 0; background:orange; overflow:hidden; position:relative; }
 .inwrap{ float:left; position:relative; left:50%;}
 .page { float:left; position:relative; left:-50%; }
 .page li { float:left;margin:0 5px; }
 .page li a { display:block; padding:2px 9px; background:white; border:1px solid red; float:left;}
</style>
</head>
<body>
<div class="wrap clearfix">
 <div class="inwrap">
 <ul class="page">
  <li> <a href="#">上一页</a> </li>
  <li> <a href="#">1</a> </li>
  <li> <a href="#">2</a> </li>
  <li> <a href="#">3</a> </li>
  <li> <a href="#">4</a> </li>
  <li> <a href="#">2</a> </li>
  <li> <a href="#">3</a> </li>
  <li> <a href="#">2</a> </li>
  <li> <a href="#">3</a> </li>
  <li> <a href="#">4</a> </li>
  <li> <a href="#">5</a> </li>
  <li> <a href="#">6</a> </li>
  <li> <a href="#">下一页</a> </li>
 </ul>
 </div>
</div>
</body>
</html>

父元素和子元素同时左浮动,然后父元素相对左移动50%,再然后子元素相对左移动-50%。

方法三:

html代码

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>页面元素的水平居中</title> 
<style type="text/css"> 
 * { margin:0; padding:0; list-style:none; font-size:14px; } 
 .clearfix:after { content:""; height:0; visibility:hidden; display:block; clear:both; } 
 .clearfix { zoom:1; } 
 a{ text-decoration:none;} 
 h1{ text-align:center; padding:10px; font-size:20px; margin:30px 0;} 
 .wrap { margin:20px auto; padding:10px 0; background:orange; overflow:hidden; position:relative; } 
 .inwrap{ float:left; position:relative; left:50%;} 
 .page { float:left; position:relative; left:-50%; } 
 .page li { float:left;margin:0 5px; } 
 .page li a { display:block; padding:2px 9px; background:white; border:1px solid red; float:left;} 
</style> 
</head> 
<body> 
<h1>页面元素的水平居中</h1> 
<h2>浮动方式:</h2> 
<div class="wrap clearfix"> 
 <div class="inwrap"> 
 <ul class="page"> 
  <li> <a href="#">上一页</a> </li> 
  <li> <a href="#">1</a> </li> 
  <li> <a href="#">2</a> </li> 
  <li> <a href="#">3</a> </li> 
  <li> <a href="#">4</a> </li> 
  <li> <a href="#">2</a> </li> 
  <li> <a href="#">3</a> </li> 
  <li> <a href="#">2</a> </li> 
  <li> <a href="#">3</a> </li> 
  <li> <a href="#">4</a> </li> 
  <li> <a href="#">5</a> </li> 
  <li> <a href="#">6</a> </li> 
  <li> <a href="#">下一页</a> </li> 
 </ul> 
 </div> 
</div> 
</body> 
</html>

 这里也可以多套一层的方式设置left:-50%,更合理,也可以避免一些不必要的IE BUG。举一反三,这种float元素居中的方式其实可以延展应用到很多需要浮动元素又居中的情况。

以上通过三种方法讲解了css如何让浮动元素水平居中,后续本网站还会持续更新有关js、jq、css、php、c#等编程方面的知识,敬请关注本站,谢谢。

Javascript 相关文章推荐
javascript 自动转到命名锚记
Jan 10 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
jquery事件与函数的使用介绍
Sep 29 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
AngularJs+Bootstrap实现漂亮的计算器
Aug 10 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
vue的三种图片引入方式代码实例
Nov 19 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 #Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
Aug 07 #Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 #Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
Aug 07 #Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 #Javascript
jQuery使用animate创建动画用法实例
Aug 07 #Javascript
浅谈JavaScript 的执行顺序
Aug 07 #Javascript
You might like
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
一端时间轮换的广告
2006/06/26 Javascript
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
document.onreadystatechange事件的用法分析
2009/10/17 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
python类和继承用法实例
2015/07/07 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
艺术用品:Arteza
2018/11/25 全球购物
2014年污水处理厂工作总结
2014/12/19 职场文书
严以用权学习心得体会
2016/01/12 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技