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 相关文章推荐
JS模拟多线程
Feb 07 Javascript
js类中获取外部函数名的方法
Aug 19 Javascript
javascript 动态创建表格
Jan 08 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
微信和qq时间格式模板实例详解
Oct 21 Javascript
js对字符串进行编码的方法总结(推荐)
Nov 10 Javascript
JavaScript常见的五种数组去重的方式
Dec 15 Javascript
javascript实现动态显示颜色块的报表效果
Apr 10 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
May 22 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
JS实现简易日历效果
Jan 25 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
jcrop基本参数一览
2013/07/16 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
python中的多线程实例教程
2014/08/27 Python
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
python实现简易版计算器
2020/06/22 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
《第一朵杏花》教学反思
2014/04/16 职场文书
思想品德评语大全
2014/12/31 职场文书
介绍信格式
2015/01/30 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书