display_inline-block_table-cell
1、display:inline-block;
兼容性:兼容到IE7+,Chrome,Firefox
html:
<ul class="list">
<li>首页</li>
<li>文章列表</li>
<li>关于我</li>
</ul>
<ul class="list">
<a href="#">首页</a>
<a href="#">文章列表</a>
<a href="#">关于我</a>
</ul>
css:
/*reset-style*/
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:;padding:;}
ul,ol{list-style:none;}
body{font-size:12px;font-family:"Microsoft yahei";}
a{text-decoration:none;}
/*基本页面样式*/
.list{
width:350px; margin:50px auto;
}
.list li{
display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;border:1px solid #666;
}
.list a{
display:inline-block;width:100px;height:30px;line-height:30px;text-align:center;border:1px solid #666;
}
/*解决在IE6/7下,ul的子元素li不能在同一行显示的问题*/
.list li{*display:inline;*zoom:;} /*下面的样式是为了去掉display:inline-block之间的空隙。*/
/*1--在父级元素上添加font-size为0,为了不影响子元素的font-size,我们也要在子元素.list li 和 .list a添加{font-size:12px}来覆盖父级元素的font-size*/
.list{font-size:;}.list li{font-size:12px;}.list a{font-size:12px;} /*2--Safari5不支持font-size:0,解决方法:在父级元素上使用 letter-spacing:-5px,为了不影响子元素需要在子元素重新设置值回默认值*/
@media screen and (-webkit-min-device-pixel-ratio:0){
.list{letter-spacing:-5px;}
}
.list li{letter-spacing:normal;}.list a{letter-spacing:normal;} /*3--使用*word-spacing:-1px; 解决IE6,7下产生的1px间隙bug,如下在父级元素多添加如下代码.list{ *word-spacing:-1px; }。同样为了使子元素不受影响需要添加word-spacing的默认值。*/
.list{*word-spacing:-1px;}
.list li{ *word-spacing:normal;} .list a { *word-spacing:normal;}
2、display:table-cell;
display:table-cell 目前IE8+浏览器都支持,IE6,7不支持,我们都知道单元格有一些特别的属性,比如图片垂直居中,文字垂直居中等。但是display:table-cell不能与float:left或者position:absolute属性等同用。对margin值无反应,支持padding属性。
demo1 - display-table-cell-图片居中显示:
兼容性:兼容到IE8+,Chrome,Firefox
html:
<div class="box">
<ul>
<li><img src="bg.png"></li>
<li><img src="bg.png"></li>
</ul>
</div>
css:
/*reset-style*/
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:;padding:;}
ul,ol{list-style:none;}
body{font-size:12px;font-family:"Microsoft yahei";}
a{text-decoration:none;} /*基本页面样式*/
.box{width:500px;height:300px;margin:30px auto;border:1px solid #ccc;}
ul{width:100%;height:100%;}
ul li{width:250px;height:300px;;display:table-cell;text-align:center;vertical-align:middle;}
ul li:first-child{border-right:1px solid #ccc;}
demo2 - display-table-cell-两栏自适应布局:
兼容性:兼容到IE7+,Chrome,Firefox
html:
<div class="box">
<ul class="list">
<li><a href="#">首页</a></li>
<li><a href="#">文章列表</a></li>
<li><a href="#">评论列表</a></li>
<li class="about"><a href="#">关于我</a></li>
</ul>
<div class="content">
<p class="head">标题:上海欢迎你!</p>
<p>简介:上海是一座国家历史文化名城,拥有深厚的近代城市文化底蕴和众多历史古迹。江南传统吴越文化与西方传入的工业文化相融合形成上海特有的海派文化,上海人多属江浙民系使用吴语。早在宋代就有了“上海”之名,1843年后上海成为对外开放的商埠并迅速发展成为远东第一大城市,今日的上海已经成功举办了2010年世界博览会、中国上海国际艺术节、上海国际电影节等大型国际活动。</p>
</div>
</div>
css:
/*reset-style*/
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:;padding:;}
ul,ol{list-style:none;}
body{font-size:12px;font-family:"Microsoft yahei";}
a{text-decoration:none;} /*基本页面样式*/
.box{width:100%;margin:30px auto;padding:20px;border:1px solid #ccc;overflow:hidden;box-sizing:border-box;*behavior:url(boxsizing.htc);}
/* *behavior:url(boxsizing.htc);解决IE7不支持box-sizing:border-box;的问题 */
.list{width:200px;background:#eee;float:left;}
.list li{height:35px;line-height:35px;display:block;border-bottom:1px solid #ccc;}
.list .about{border:;}
.list li a{display:block;text-align:left;font-size:16px;padding-left:35px;color:#333;}
.content{display:table-cell;*display:inline-block;font-size:14px;padding-left:20px;}
.content .head{line-height:30px;font-weight:bold;}
.content p{line-height:22px;}
display_inline-block_table-cell的更多相关文章
- iOS开发之多种Cell高度自适应实现方案的UI流畅度分析
本篇博客的主题是关于UI操作流畅度优化的一篇博客,我们以TableView中填充多个根据内容自适应高度的Cell来作为本篇博客的使用场景.当然Cell高度的自适应网上的解决方案是铺天盖地呢,今天我们的 ...
- 使用Autolayout实现UITableView的Cell动态布局和高度动态改变
本文翻译自:stackoverflow 有人在stackoverflow上问了一个问题: 1 如何在UITableViewCell中使用Autolayout来实现Cell的内容和子视图自动计算行高,并 ...
- iOS - UITableView中Cell重用机制导致Cell内容出错的解决办法
"UITableView" iOS开发中重量级的控件之一;在日常开发中我们大多数会选择自定Cell来满足自己开发中的需求, 但是有些时候Cell也是可以不自定义的(比如某一个简单的 ...
- UICollectionView布局cell的三种方式
UICollectionViewFlowLayout里面: // 方法一 - (void)prepareLayout{} // 方法二 - (nullable NSArray<__kindof ...
- Cell右滑 多个编辑选项栏
简单粗暴,一看就能明白 关于右滑cell,能滑出来两个以上的选项栏,可以如下这么做,但是要注意下面的注意事项,就是关于iOS8前后的问题,注释写的很清楚了.可以直接复制到自己的代码里看的会更明白. / ...
- UICollectionViewCell--查找cell上的按钮点击后,对应的是哪个cell
实际写项目会碰到各种各样的问题,废话不多说 按钮添加到cell时,根据是直接添加到self还是self.contentView上,在点击方法里找到btn的父视图 我是直接添加到self上,所以只有一层 ...
- UITableView cell复用出错问题 页面滑动卡顿问题 & 各杂七杂八问题
UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影).滑动卡顿等问题,这里只简单敲下几点复用出错时的解决 ...
- UITableView点击每个Cell,Cell的子内容的收放
关于点击TableviewCell的子内容收放问题,拿到它的第一个思路就是, 方法一: 运用UITableview本身的代理来处理相应的展开收起: 1.代理:- (void)tableView:(UI ...
- 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
前言 API 不熟悉导致的问题,想当然的去理解果然会出问题,这里记录一下 UICollectionView 使用问题. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cn ...
- [iOS]技巧集锦:UITableView自定义Cell中的控件无法完全对齐Cell的左边界和右边界
这是个很诡异的问题,由于一些特殊需求,我的TableView的Cell的背景色是透明,其中的控件会有背景色,第一个控件和最后一个控件我都用IB自动设了约束,对齐Cell的左边界和右边界,但是自动约束很 ...
随机推荐
- c语言游戏推箱子
前两天做了推箱子小游戏,看似简单的一个小游戏背后却 有巨大的秘密,这秘密就是一大堆逻辑. 自从学习了函数过后,的确是解决了很多问题,而且调用很方便,尽管我现在都不是很会调用. 写完一个函数,准备测试一 ...
- Sublime Text 3 3126 注册码 + 下载地址
Sublime Text 3 3126 下载地址 Windows版本 64位:https://download.sublimetext.com/Sublime%20Text%20Build%2031 ...
- 关于网络配置和zmp以及json
1. JSON那一块有点小问题,当我们和手机进行通信的时候,virtualswitch写成本机的地址 192.168.1.100即可. 还有就是 jsonstring.c_str() 后面没有 + 1 ...
- vs2010集成git指南
1.安装 Git Extensions 下载地址:http://gotgit.github.com/gotgithub/10-appendix/030-install-on-windows-cygw ...
- .Net配置中心-简介
系统简介 最近做了一个.Net配置中心,本质就是将原本放在各个站点下AppSettings中的配置统一管理,可以实现一次更改,自动更新,这里提供了两个版本, 一个是心跳版,一个是zookeeper版. ...
- HMAC加密的消息摘要码
HMAC(Hash Message Authentication Code)哈希消息授权码,它在消息摘要算法(例如MD5,SHA系列算法)的基础上,使用密钥对消息摘要进行加密.它相当于一个马甲,内里可 ...
- $.extend()的用法【转】
1.合并多个对象. 这里使用的就是$.extend()的嵌套多个对象的功能. 所谓嵌套多个对象,有点类似于数组的合并的操作. 但是这里是对象.举例说明. 代码如下: <span style=&q ...
- Ajax表单序列化后的数据格式转成Json发送给后台
<script> $(function(){ //表单转json函数 $.fn.serializeObject = function(){ var o = {}; var a = this ...
- java类的初始化块/执行顺序,实例化对象数据赋值
java里初始化一个类的对象,通过初始化快或者构造方法进行数据赋值.与其相关的执行代码有这么几种: 静态初始化块 初始化块 构造方法 静态初始化块 静态初始化块只在类加载时执行一次,同时静态初始化块只 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...