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 相关文章推荐
用jquery和json从后台获得数据集的代码
Nov 07 Javascript
有关于JS构造函数的重载和工厂方法
Apr 07 Javascript
解析javascript 实用函数的使用详解
May 10 Javascript
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
使用Raygun来自动追踪AngularJS中的异常
Jun 23 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
JavaScript类继承及实例化的方法
Jul 25 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
AngularJS的脏检查深入分析
Apr 22 Javascript
详解react内联样式使用webpack将px转rem
Sep 13 Javascript
layui 弹出层回调获取弹出层数据的例子
Sep 02 Javascript
JavaScript遍历数组的方法代码实例
Jan 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文件上传原理简单分析
2011/05/29 PHP
php设计模式 Factory(工厂模式)
2011/06/26 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
基于jquery的时间段实现代码
2012/08/02 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
售后求职信范文
2014/03/15 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
活动总结书
2014/05/08 职场文书
党员干部四风问题整改措施思想汇报
2014/10/12 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书