CSS图片垂直居中详解
来源:互联网 发布:阿里云域名交易市场 编辑:程序博客网 时间:2024/05/22 00:33
CSS图片垂直居中问题,困扰了我许久,今天终于可以总结下来了:
方法一:利用定位
HTML结构如:
1
2
3
4
5
<
div
class
=
"box"
>
<
a
class
=
"pic-wrap"
href
=
"#"
target
=
"_blank"
>
<
img
src
=
"http://img01.taobaocdn.com/tps/i1/T1LeeNXodaXXXXXXXX-130-150.png"
>
</
a
>
</
div
>
CSS代码如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
body {
margin
:
0
;
padding
:
0
;
font
:
12px
/
1.5
tahoma
,
arial
;
}
.box {
width
:
220px
;
height
:
220px
;
border
:
1px
solid
#F30
;
margin
:
100px
auto
0
;
display
: table;
}
.pic-wrap {
display
:
table-cell
;
text-align
:
center
;
vertical-align
:
middle
;
}
/*主要针对IE6、7的hack*/
.box {
*
position
:
relative
;
}
.pic-wrap {
*
width
:
100%
;
*
position
:
absolute
;
*
top
:
50%
;
*
left
:
0
;
/*继承自body的字体会影响到ie6,设置默认的windows系统字体*/
_font-family
:
sans-serif
;
}
.pic-wrap img {
*
position
:
relative
;
*
top
:
-50%
;
*
left
:
0
;
/*在ie中空文本节点有默认高度*/
vertical-align
:
middle
\
9
;
/*在ie中,a标签中的img标签默认有蓝色边框*/
border
:
none
\
9
;
}
方法二:
HTML结构同上,
CSS代码如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.box {
width
:
220px
;
height
:
220px
;
border
:
1px
solid
#F30
;
margin
:
100px
auto
0
;
}
.pic-wrap {
display
:
table-cell
;
vertical-align
:
middle
;
width
:
220px
;
height
:
220px
;
text-align
:
center
;
/*ie6、7不支持display:table-cell*/
*
display
:
block
;
*
font-size
:
192px
;
/*字体大小为height*0.783或者height/1.14,这里约为192px*/
_font-family
:
sans-serif
;
/*设置字体,否则在ie6下会有一个像素的偏差*/
}
.pic-wrap img {
border
:
none
;
vertical-align
:
middle
;
/*由于ie下空文本节点有默认高度,所以设置*/
}
【注意,当在css中设置了body元素字体的话,那么方法二在ie7下会失效的】
最佳方法:
CSS代码如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
body {
margin
:
0
;
padding
:
0
;
font
:
12px
/
1.5
tahoma
,
arial
;
}
.box {
width
:
220px
;
height
:
220px
;
border
:
1px
solid
#F30
;
margin
:
100px
auto
0
;
}
.pic-wrap {
display
:
table-cell
;
vertical-align
:
middle
;
width
:
220px
;
height
:
220px
;
text-align
:
center
;
/*ie6、7不支持display:table-cell*/
*
display
:
block
;
_font-size
:
192px
;
+
line-height
:
220px
;
/*设置ie7中空文本节点行高为220px*/
_font-family
:
sans-serif
;
}
.pic-wrap img {
border
:
none
;
vertical-align
:
middle
\
9
;
/*由于ie中有默认高度的空文本节点*/
}
- CSS图片垂直居中详解
- css-图片垂直居中
- css图片垂直居中
- css图片垂直居中
- css图片垂直居中
- css图片垂直居中
- Div+css 图片垂直居中
- CSS控制图片垂直居中
- DIV CSS 图片垂直居中
- css 解决方案-图片垂直居中
- 图片垂直居中css写法
- 解决CSS图片垂直居中
- Div+CSS图片垂直居中
- CSS实现图片垂直居中
- 图片水平垂直居中css
- CSS图片垂直居中方法
- css图片垂直居中自适应
- 图片垂直居中css写法
- linux 模块驱动开发第一弹 helloworld
- 黑马程序员——集合框架工具类
- 基础排序算法 – 冒泡排序Bubble sort
- 解决运行JScript的一个诡异错误
- 十进制数转二进制
- CSS图片垂直居中详解
- 黑马程序员——泛型
- 牛顿拉普森迭代法
- Java GUITest
- ASP.NET Event Validation and “Invalid Callback Or Postback Argument” : Part I
- 黑马程序员——常见API
- 八年程序员之书籍篇--杂谈篇(一):怎么阅读一本书?
- 学习cocos2d-x之路(3)--创建第一个场景
- C语言拾遗(四):分析switch语句机制