用CSS让未知高度内容垂直方向居中

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Demo</title>
    <style type="text/css">
        #outer{
            width:500px;
            height:200px;
            margin: 50px auto;
            border:1px solid #CCC;
            display:table;
            text-align:center;
            #position:relative;
        }
        #middle{
            display:table-cell;
            vertical-align:middle;
            #position:absolute;
            #top:50%;
            #left:50%;
        }
        #inner{
            #position:relative;
            #top:-50%;
            #left:-50%;
        }
    </style>
</head>
<body>
    <div id="outer">
        <div id="middle">
            <img id="inner" src="http://static.cnblogs.com/images/logo_small.gif"/>
        </div>
    </div>
</body>
</html>原理是标准浏览器下用table和table-cell布局,然后用vertical-align:middle居中元素,但IE67不支持table布局,所以用了用了css hake,就是带#开头的属性。
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Demo</title>
    <style type="text/css">
        #outer{
            width:500px;
            height:200px;
            margin: 50px auto;
            border:1px solid #CCC;
            position:relative;
        }
        #inner{
            position:relative;
            left:50%;
            top:50%;
            margin-left:-71px;
            margin-top:-27px;
        }
    </style>
</head>
<body>
    <div id="outer">
            <img id="inner" src="http://static.cnblogs.com/images/logo_small.gif"/>
    </div>
</body>
</html>用负margin实现,但缺点是要知道居中内容的宽度和高度。

用CSS让未知高度内容垂直方向居中

时间: 2024-08-28 15:32:21

用CSS让未知高度内容垂直方向居中的相关文章

CSS实现未知高度图文混合垂直居中

(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-06-26) CSS实现未知高度图文混合垂直居中,阅读CSS实现未知高度图文混合垂直居中. IE6,IE7,FF3测试通过 CSS* { margin:0; padding:0; list-style:none;} #vertical_box { width:100%; display:table; border:1px red solid; height:400px; /*针对IE的hack*/ *position:r

flex align-center:center多行垂直方向居中 align-items:center垂直方向单行居中

align-center:center多行垂直方向居中 align-items:center垂直方向单行居中 原文地址:https://www.cnblogs.com/yuanyuan-1994/p/8665647.html

块级元素水平和垂直方向居中的方式

块级元素水平和垂直方向居中的方法一共三种 1.先设置块级元素的宽高,然后利用定位和外边距将元素在水平和垂直方向上居中 示例: <style> .father{ width: 100%; height: 500px; position: relative; } .son{ width: 100px; height: 100px; position: absolute; top: 50%; left: 50%; margin-left: -50px; margin-top: -50px; back

CSS解决未知高度垂直居中

尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下). 标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (display: table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的. 非标准浏览器只能在子元素里设距顶部50%,里面再套个元素距顶部

css 元素水平垂直方向居中

一.text-align:center;vertical-align:middde: html部分 <div class="parent"> <div class="child"> </div> </div> css部分 .parent{ width: 400px; height:400px; background:#666666; text-align: center; font-size: 0px; } .chil

css在未知高度的情况下实现垂直居中

.img{width:100px;height:110px;display:table-cell;text-align:center;vertical-align:middle;border:1px solid red;overflow:hidden;} "`

js控制图片缩放、水平和垂直方向居中对齐

已測试兼容 IE6,IE7,IE8,火狐FF,谷歌chrome. 这里使用了jquery插件,假设你不使用jquery,略微改造一下也非常快. 网上查了些资料,用css控制兼容性不好,看去非常揪心.于是找js代码,看了几种写法总是感觉差点什么,算了,还是自己写吧,于是有了以下这个简单的方法,能自己主动依据图片容器大小进行缩放.水平和垂直居中对齐,效果例如以下图: [html] view plaincopy <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.

HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中

pc端让一个弹窗水平和垂直方向居中,在知道弹窗宽高的情况下很好计算,只需要用如下css即可: #date{ width: 300px; height: 300px; position: absolute; top: 50%; left: 50%; margin-left: -150px; margin-top: -150px; } 但是到了移动端,如果写百分比布局的话,高度不好确定,所以弹窗居中就会变得困难,今天遇到这个问题,百度了一下,看到这位朋友的资料,(http://www.shejida

css实现固定高度及未知高度文字垂直居中的完美解决方案

在工作当中我们经常碰到类似于"固定高度文字垂直居中及未知高度垂直居中问题",或者 "图片垂直居中问题",而我们最容易会想到使用表格来垂直居中,或者如果是单行文字的话使用height(高度)和line-height(行高)来解决,但是假如页面有多行文字的话 固定高度该怎么解决? 或者未知高度我们该用css怎么解决? 且兼容各个游览器! 一:单行文字垂直居中: 如果一个容器中只有一行文字的话,让他垂直居中比较简单 直接定义height(高度)和 line-height(