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 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
javascript修改表格背景色实例代码分享
Dec 10 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
Jun 12 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
canvas绘制一个常用的emoji表情
Mar 30 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
puppeteer实现html截图的示例代码
Jan 10 Javascript
详解Vue底部导航栏组件
May 02 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
JavaScript组合继承详解
Nov 07 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
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP内置加密函数详解
2016/11/20 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
jquery简单体验
2007/01/10 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python运行异常管理解决方案
2020/03/09 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
Java基础知识面试题
2014/03/25 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
管理部部长岗位职责
2013/12/05 职场文书
将相和教学反思
2014/02/04 职场文书
班级口号大全
2014/06/09 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
月考总结与反思
2015/10/22 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers