外层div宽度固定,而内层div宽度有变化,css怎样使一个使内层div水平居中,css实现分页效果及分页居中问题解决

刚刚做一个分页效果,分页用UI li做的,ul外层宽度固定了,因为分页是变化的,可能多可能少,所以不能固定ul的宽度,而且li用了float:left;。这样就用 margin:0 auto;就不能让分页居中了抓狂这问题让我纠结了好久,最后解决了,分享给大家,但分页功能还不够完善希望大神吐槽指点下

用float:left后效果图

css实现分页效果及分页居中问题解决方案

代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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;}
.page { width:960px; height:30px; margin:10px auto; padding:10px 0px; text-align: center; white-space: nowrap; background:#000; color:#fff}
.page li { margin: 0 5px; list-style-type:none  }
.page li a { float:left; height: 30px; line-height: 30px; width: 30px; text-align: center; border:1px solid #d4d4d4; color:#000; background:#fff; text-decoration:none}
.page li a:hover{ background:#C00}
</style>
</head>

<body>
<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="">5</a></li>
  <li><a href="">6</a></li>
  <li><a href="">7</a></li>
  <li><a href="">></a></li>
</ul>
</body>
</html>

解决方法:

删除float:left;在li标签样式内添加display:inline;

在a标签样式内添加display: table-cell; display: inline-block;

css想、实现分页居中效果


因为li是块级元素,没有浮动,li就不会显示一行,给我li设置display: inline;意思是把li变为行内元素,行内元素就可以被父级的text-align: center;属性控制水平居中了。

因为行内元素不能设置宽和高所以加display: table-cell; display: inline-block;就能设置宽高,(这两个属性作用都一样的,只是为解决兼容性问题)他们是行内元素既有行内元素的属性,又有块元素的属性!



解决后:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值