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 相关文章推荐
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
转换字符串为json对象的方法详解
Nov 29 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
Jun 09 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
Sep 21 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
Jan 10 Javascript
解决React Native端口号修改的方法
Jul 28 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
js实现随机抽奖
Mar 19 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
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写的小东西
2006/12/06 PHP
PHP如何编写易读的代码
2007/07/10 PHP
smarty简单入门实例
2014/11/28 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
python之Character string(实例讲解)
2017/09/25 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Python的历史与优缺点整理
2020/05/26 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
行政办公室岗位职责
2014/03/18 职场文书
考博专家推荐信
2014/05/10 职场文书
经营理念标语
2014/06/21 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
党性分析材料格式
2014/12/19 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技