实现元素垂直居中的方法

如题,如何垂直居中一个元素,这里分为两种情况:要居中的元素已知大小、要居中的元素width, height未知。

1、要居中的元素已知大小

示例代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title>    <style>        #parent{            width:600px;            height:600px;            background:#ddd;            position:relative;        }        #son{            width: 300px;            height: 300px;            background-color:lightgreen;            position: absolute;            top: 50%;            left: 50%;            margin-top:-150px;  /*二分之一的width和height,把元素往回拉*/            margin-left:-150px;        }    </style></head><body><div id="parent">    <div id="son"></div></div></body></html>

2、要居中的元素width, height未知

示例代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title></title>    <style>        #parent{            width:600px;            height:600px;            background:#ddd;            position:relative;        }        #son{            max-width:40%;            max-height:50%;            background-color:green;            margin:auto;            position: absolute;            left: 0;            top: 0;            right: 0;            bottom: 0;        }    </style></head><body><div id="parent">    <div id="son">        <p>高度,宽度未知的div元素</p>        <p>测试文本:Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p>    </div></div></body></html>

这是我目前的做法,不足之处还望大家指出。

时间: 2024-11-03 21:09:40

实现元素垂直居中的方法的相关文章

实现元素垂直居中的方法(补充)

之前发过一次<实现元素垂直居中的方法>的文章,今天又碰到了更简便的方法,就是利用transform属性,特别是当要居中的元素宽度,高度未知时非常好使,废话不多说,直接上demo: <!DOCTYPE html><html><head lang="zh-cn">    <meta charset="UTF-8">    <title>居中的方法</title>    <style

【笔记】uc浏览器中以及移动端浏览器中元素垂直居中的方法

关于css 的垂直居中有很多方法,但是uc 浏览器还真是一个移动端浏览器清流之中的泥石流!! 最近在慕课网学习vue webApp 的制作,其中有一个是让元素内的文字与图标垂直居中 电脑端的chrome 和手机浏览器的默认浏览器打开都没有什么差异,唯独uc 浏览器打开会有一点点的偏移,心里很不舒服于是把vertical-align 的属性都配对了一遍最终找到了办法 先看代码 <!-- 弹出层显示按钮 --> <div v-if="seller.data.supports&quo

css元素垂直居中的方法

用 CSS 实现垂直居中也不简单.如果你想在一个固定高度的元素内垂直居中一行文本,可以把这一行文本的 line-height 设定为该元素的高度.假设元素高度为 300 像素,可以这样写:text-align:center; /*水平居中*/line-height:300px; /*垂直居中:行高=容器高度*/如果想垂直居中其他元素,比如图片,可以将容器的 display 属性设定为 table-row,再设定(只对单元格有效的) vertical-align 属性为 middle,比如:dis

[转]-CSS 元素垂直居中的6种方法

原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/ 利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可.本文收集了六种利用css进行元素的垂直居中的方

CSS 元素垂直居中的 6种方法

利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可.本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可. Line-Height Method 试用:单行文本垂直居中,demo 代码: html 1 2 3 <div id="parent"> <div id="child&quo

CSS 元素垂直居中的 6种方法(转)

转自:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/ 利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可.本文收集了六种利用css进行元素的垂直居中的方法,

(转)CSS 元素垂直居中的 6种方法

利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可.本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可. Line-Height Method 试用:单行文本垂直居中,demo 代码: html 1 2 3 <div id="parent"> <div id="child&quo

CSS中元素水平居中和垂直居中的方法

#CSS中水平居中和垂直居中的方法 一. 水平居中 1.行内元素(文本,图片等) 如果被设置元素为文本.图片等行内元素时,可以通过给父元素设置` text-align:center;` 来实现 2.定宽块级元素 可以通过设置“左右margin”值为“auto”来实现居中 常用的有 `margin:0 auto; ` 也可以写成`margin-left:auto;margin-right:auto;` 3.不定宽块级元素 有三种实现方法: * 加入 table 标签   为需要设置的居中的元素外面

元素垂直居中方法总结

以下总结了一些常见的元素垂直居中方法: 首先,基本的html和CSS为 #wrap{ width: 320px; height: 160px; background: red; } #wrap>div{ width: 50px; height: 50px; background: black; color: #fff; } <div id="wrap"> <div class="v-center">我是前端狗</div> &