css 中float后text-align无效解决办法

般写内容居中的时候都会使用text-align:center属性,但是内元素一旦float起来的时候,text-align就会失效。
我们只能其他的方法来达到居中的目的

 代码如下 复制代码

<!DOCTYPE HTML>
<html lang="en-US">
<head>
 <meta charset="UTF-8">
 <title>float居中的最佳实践</title>
 <style type="text/css">
  *{margin:0; padding:0;}
  ul{list-style-type:none;}
  
  .container{width:600px; padding:5px; border:2px solid #ddd; margin:30px auto; overflow:hidden; text-align:center;}
  .container h2{font-size:14px; padding:10px 0;}
  
  .sl-float-middle{position:relative; left:50%; float:left;}
  .sl-float-middle-cell{position:relative; float:left; right:50%; height:30px; line-height:30px; margin:0 5px; border:5px solid #f2f2f2;}
  .sl-float-middle-cell img{height:30px;}
 </style>
</head>
<body>
 <div class="container">
  <h2>float居中的最佳实践</h2>
  <ul class="sl-float-middle">
   <li class="sl-float-middle-cell">宽度一</li>
   <li class="sl-float-middle-cell">宽度二二二</li>
   <li class="sl-float-middle-cell">三</li>
   <li class="sl-float-middle-cell"><img src="IMG_20111114_154154-300x225.jpg" alt="来一张图片" /></li>
  </ul>
 </div>
</body>
</html>

本方案主要是利用父层ul的float:left+left:50%,配合子层li的float:left+right:50%(left:-50%)来达到目的的。
html代码如下:

 代码如下 复制代码

<ul class="sl-float-middle">
 <li class="sl-float-middle-cell">宽度一</li>
 <li class="sl-float-middle-cell">宽度二二二</li>
 <li class="sl-float-middle-cell">三</li>
 <li class="sl-float-middle-cell"><img src="IMG_20111114_154154-300x225.jpg" alt="来一张图片" /></li>
</ul>

css代码如下:

 代码如下 复制代码

.sl-float-middle{position:relative; left:50%; float:left;}
.sl-float-middle-cell{position:relative; float:left; right:50%;}

时间: 2024-10-26 06:18:41

css 中float后text-align无效解决办法的相关文章

div 使用float后自适应高度无效解决办法

 代码如下 复制代码 <style> #main{float:left;min-height:500px;} #l{float:left;margin-bottom:10px;margin-right:10px;padding:6px 10px;width:117px;} #r{float:right;margin-right:10px;padding-top:10px;width:864px;overflow:hidden;} </style>   <div id=&quo

CSS中 Float 的 clear:both 无效的解法

CSS 对於 Float 的 clear:both 每年都会有新的写法. XD 2008.2010 年的 clear:both 写法 不过, 在今年看到此篇: Best Cross-browser CSS Clearfix solution, 跟上述那篇比对起来, 参数多增加了几个, 到底有何差异, 就不细究了~ 直接用就对了. XD CSS 的 float 使用起来蛮方便的, 但是使用完后, 那块空间就等於是消失, 所以需在下面加 clear:left / clear:right / clea

IE6中float造成margin值双倍解决办法

例1 一个元素向左浮动(float:left),且添加了向左空白边(margin-left:10px),那么会自动的加一倍变成30px. 例:  代码如下 复制代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>IE6双空白边Bug</title> </head> <body> <div style="

css中连续的英文不能自动换行解决办法

我们在页面中常会见到比如网址无法自动折断(如下图) 如果是汉字,则可以自动换行.如果是连续的英文或数字会被视为一个单词,即使达到最大宽度也不会自动折断,而是直接到换到下一行. 那么这里就可以使用word-break:break-all;来实现长英文自动折断(效果如下图). 如  代码如下 复制代码 :<p style="word-break:break-all;"></p> 最后总结一下 1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap :

线程-关于Win32核心编程中DLL注入后无反应的解决办法

问题描述 关于Win32核心编程中DLL注入后无反应的解决办法 #include #include HINSTANCE hProcess; PWSTR pszLibFileRemote; HINSTANCE hThread; void StartInject(int ProcessID, char * DllName); void OverInject(char * DllName); void EnableDebugPrivilege(HANDLE processHandle); int ma

win8下XAMPP中Apache模块无效解决办法

  win8下XAMPP中Apache模块无效解决办法 win8下系统默认占用80端口,导致apache无法打开. 以管理员权限运行c:windowssystem32cmd.exe C:WINDOWSsystem32>net stop http HTTP Service 服务已成功停止. C:WINDOWSsystem32>netstat -ano | findstr 0.0.0.0:80 C:WINDOWSsystem32>sc config http start=disabled [

ie7中 iframe.style.height=&quot;100%&quot; 无效解决方法

ie7中 iframe.style.height="100%" 无效解决方法 100%高度的iframe在ie7中显示错误,原因是iframe.style.height="100%".       1.设置iframe父容器的高度值,100%就能生效(由此猜测默认情况下iframe的父容器高度是某个比较小的值,因此显示出来高度比较小)       2.如果是脚本动态创建的,iframe.style.height=document.body.scrollheight

php 连接mssql nvarchar和text被截断解决办法

nvarchar被截为255解决办法 PHP 将 nvarchar 按照 MySQL 的 varchar 处理了吧!本文给出了解决方法:  代码如下 复制代码 select cast(目标字段 as text) from 表名 假如你的 article 表中有个字段 summary 为 nvarchar,那么命令为:  代码如下 复制代码 select cast(summary as text) from article 另一种情况text被截段解决办法 PHP 的配置文件 php.ini 中

在ASP.net中的UpdatePanel,弹窗失败解决办法

原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</script>"); 在没有UpdatePanel时,这个有效,能够正确弹出提示窗口. 后面,页面改进,加上局部刷新后,该方式失效了.探索出新的方式:   ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(),