最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

CSS如何实现未知高度图像的垂直居中(附代码)

来源:懂视网 责编:小采 时间:2020-11-02 22:13:00
文档

CSS如何实现未知高度图像的垂直居中(附代码)

CSS如何实现未知高度图像的垂直居中(附代码):本篇文章给大家带来的内容是关于CSS如何实现未知高度图像的垂直居中(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。<!doctype html> <html> <head> <meta charset="utf-8
推荐度:
导读CSS如何实现未知高度图像的垂直居中(附代码):本篇文章给大家带来的内容是关于CSS如何实现未知高度图像的垂直居中(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。<!doctype html> <html> <head> <meta charset="utf-8
本篇文章给大家带来的内容是关于CSS如何实现未知高度图像的垂直居中(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

3549607433-5be2a03768579_articlex.png

<!doctype html>
<html> 
 <head> 
 <meta charset="utf-8" /> 
 <meta content="IE=8" http-equiv="X-UA-Compatible"/> 
 <title> CSS垂直居中</title> 
 <style type="text/css"> 
 .container{ 
 width:500px;/*装饰*/
 height:500px; 
 background:#B9D6FF; 
 border: 1px solid #CCC; 
 } 
 
 </style> 
 </head> 
 <body> 
 <h1>垂直居中(table)</h1> 
 <div>
 <table width="100%" height="100%">
 <tr>
 <td valign="middle">
 <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
 </td>
 </tr>
 </table> 
 </div>
 
 </body> 
</html>

好了,我们看其CSS实现。凡是table能做到的,CSS都能做的,但各浏览器在CSS的差异比较大,因此要兼容它们难度很大。这涉及许多细节,各种流啊,display的表现效果与CSS hack,IE早些年搞了大堆的私有属性,这也有待我们深一步挖掘。我们先看最简单的实现,背景图片法

背景图片法

1796276434-5be2a252b28eb_articlex.png

<!doctype html>
<html>
<head>
<title> CSS垂直居中</title>
<style type="text/css">
.container {
 width:500px;
 height:500px;
 line-height:500px;
 background:#B9D6FF url(http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg) no-repeat center center;
 border:1px solid #f00;
 text-align: center;
}
 
</style>
 
</head>
<body>
<h1>垂直居中</h1>
<div class="container">
 
</div>
</body>
</html>

CSS表达式法

<html> 
 <head> 
 <meta charset="utf-8" /> 
 <meta content="IE=8" http-equiv="X-UA-Compatible"/> 
 <title>司徒正美 CSS垂直居中</title> 
 <style type="text/css"> 
 .container{ 
 /*IE8与标准游览器垂直对齐*/
 display: table-cell;
 vertical-align:middle; 
 width:500px;/*装饰*/
 height:500px; 
 background:#B9D6FF; 
 border: 1px solid #CCC; 
 } 
 .container img{ 
 display:block;/*让其具备盒子模型*/
 margin:0 auto; 
 text-align:center;
 margin-top:expression((500 - this.height )/2);/*让IE567垂直对齐 */
 } 
 </style> 
 </head> 
 <body> 
 <h1>垂直居中(CSS表达式)</h1> 
 <div> 
 <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" /> 
 </div> 
 </body> 
</html>

绝对定位法

<!doctype html>
<html>
 <head>
 <meta charset="utf-8" />
 <meta content="IE=8" http-equiv="X-UA-Compatible"/>
 <title>司徒正美 CSS垂直居中</title>
 <style type="text/css">
 div {
 /*IE8与标准游览器垂直对齐*/
 display:table-cell;
 vertical-align:middle;
 overflow:hidden;
 position:relative;
 text-align:center;
 width:500px;/*装饰*/
 height:500px;
 border:1px solid #ccc;
 background:#B9D6FF;
 }
 div p {
 +position:absolute;
 top:50%
 }
 img {
 +position:relative;
 top:-50%;
 left:-50%;
 }
 
 </style>
 </head>
 <body>
 <h1>垂直居中(绝对定位)</h1>
 <div>
 <p>
 <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
 </p>
 </div>
 </body>
</html>

display:inline-block法

<!doctype html>
<html>
 <head>
 <meta charset="utf-8" />
 <meta content="IE=8" http-equiv="X-UA-Compatible"/>
 <title>司徒正美 CSS垂直居中</title>
 <style type="text/css">
 div {
 display:table-cell;
 vertical-align:middle;
 text-align:center;
 width:500px;
 height:500px;
 background:#B9D6FF;
 border: 1px solid #CCC;
 }
 
 </style>
 <!--[if IE]>
<style type="text/css">
i {
 display:inline-block;
 height:100%;
 vertical-align:middle
 }
img {
 vertical-align:middle
 }
</style>
<![endif]-->
 
 </head>
 <body>
 <h1>垂直居中(inline-block法)</h1>
 <div>
 <i></i>
 <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
 </div>
 </body>
</html>

writing-mode法

<!doctype html>
<html>
 <head>
 <meta charset="utf-8" />
 <meta content="IE=8" http-equiv="X-UA-Compatible"/>
 <title> CSS垂直居中</title>
 <style type="text/css">
 div{
 width:500px;
 height:500px;
 line-height:500px;
 text-align:center;
 background:#B9D6FF;
 border:1px solid #f00;
 }
 div span{
 height:100%9;
 writing-mode:tb-rl9;
 }
 div img{
 vertical-align:middle
 }
 </style>
 </head>
 <body>
 <h1>垂直居中(writing-mode法)</h1>
 <div>
 <span>
 <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
 </span>
 </div>
 </body>
</html>

185003373-5be2a6a6d1822_articlex.png

文档

CSS如何实现未知高度图像的垂直居中(附代码)

CSS如何实现未知高度图像的垂直居中(附代码):本篇文章给大家带来的内容是关于CSS如何实现未知高度图像的垂直居中(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。<!doctype html> <html> <head> <meta charset="utf-8
推荐度:
标签: 图片 居中 做到的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top