html中的水平居中和垂直居中的问题。(固定高度与高度不定)

在布局的过程中,我们要对某些元素进行居中定位,相信,大家对水平居中都没有问题,就是利用

margin:0 auto;以及文本居中 text-align:center。

下面我想给大家说的是关于整体居中(水平居中和垂直居中),

在这里,我首先告诉大家我利用了绝对定位的办法,

我现在先给大家制作一个框来直接的观察,如下

其中外框与内框分别是边长为300px和100px的正方形。

我们要把内框居中。(此时,内框高度是固定的)

1 当高度固定时。

一般我们会直接这样进行代码操作,

position:absolute;

top:50%;

left:50%;

这样乍眼一看,没有任何问题,但在进行操作后,我们会发现

内框并没有居中,这种情况的产生在于,我们忽略了内框是一个形状体,并不是一条线。

解决这种问题,我们要利用margin负值,通过负值,将整体再进行移动,而移动的数值为边框的长度的一半。

代码如下:

position:absolute;

top:50% margin-top:-50px;

left:50% margin-left:-50px;

效果如下:

负值的利用可以让标签靠近父元素,通过这样我们就达到了居中的效果。

     2 高度不定的情况下

其实两者的原理是一样的,不过是在高度不定时,我们无法选取高度的一半,只需将代码改变一部分:

position:absolute;

top:50% ;

left:50% ;

transform: translate( -50%, -50%);

这样,也完成了居中效果。

大家快去试试吧。

				
时间: 2024-10-22 09:39:12

html中的水平居中和垂直居中的问题。(固定高度与高度不定)的相关文章

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

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

CSS中有关水平居中和垂直居中的解决办法

CCS中让div等块级元素在父级元素中居中的方法: (1)div{  margin:0 auto   } 该方法只能实现水平的居中,无法实现元素的垂直居中 (2)当div元素的宽高是固定的,然后设置位置为绝对位置absolute,左边框和上边框的距离设置为50%,这个50%就是指具有定位为absolute或者是relative的祖元素的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半.: . parent{ position:relative: }

CSS中实现水平居中和垂直居中的方法

水平居中 1.使用text-align实现居中 将该属性值设置为center,这是文本居中,但它却能兼容大多数浏览器,所以在某些情况下也自然必不可少. 2.负外边距 首先,创建一个包含居中元素的容器,然后将其绝对定位于相对页面左边边缘50%的位置.这样,该容器的左外边距将从页面50%宽度的位置开始算起.然后,将容器的左外边距值设置为负的容器宽度的一半.这样即可将该容器固定在页面水平方向的中点. 3.组合使用自动外边据和文本对齐 因为文本对齐居中方式有着良好的向下兼容性,且自动外边距方式也被大多数

简单易实现的水平居中、垂直居中方法

在页面布局中,经常会面临垂直水平居中问题.网络上有很多方法,但是大多数情况下,我们找到合适的解决方法后,复制粘贴了事,并没有对各种方法的原理.利弊进行研究.本着"双鸟在林,不如一鸟在手"的宗旨,从各种方法中找出一种简单易懂的方法,让大家一目了然,以后再遇到也能立即想出来.1.水平居中:使div02在div01中水平居中.```<div id="div01"> <div id="div02"></div><

CSS3 FLEXBOX轻松实现元素的水平居中和垂直居中

1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title></title> 7 </head> 8 9 <body> 10 <!--1.清除输入框内的空格--> 11 <!--<input type="text" onBlur="replaceSpace

CSS设置行内元素和块级元素的水平居中、垂直居中

CSS设置行内元素的水平居中 div{text-align:center} /*DIV内的行内元素均会水平居中*/ CSS设置行内元素的垂直居中 div{height:30px; line-height:30px} /*DIV内的行内元素均会垂直居中*/ PS:当然,如果既要水平居中又要垂直居中,那么综合一下 div{text-align:center; height:30px; line-height:30px} CSS设置块级元素的水平居中 div p{margin:0 auto; widt

js实现未知宽高的元素在指定元素中垂直水平居中

js实现未知宽高的元素在指定元素中垂直水平居中:本章节介绍一下如何实现未知宽高的元素在指定元素下实现垂直水平居中效果,下面就以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中效果,代码如下: <!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.soft

水平居中与垂直居中,以及对齐

我以前一直都搞不清楚水平居中与垂直居中,更不用谈什么对齐,临时抱佛脚,也找不到很好的答案,于是把网上的代码研究了一番,总结一下经验: 盒子水平居中:margin:0 auto 注意:在IE8中使用margin:auto属性无法正常工作,除非声明 !DOCTYPE 如果宽度是100%,对齐是没有效果的,要给居中的元素一个宽度,否则无效. 加入margin:0 auto就不能加入float浮动样式,避免逻辑错误,造成布局居中不兼容. 行内元素水平居中:父元素设置text-align:center 单

CSS3 Flexbox轻巧实现元素的水平居中和垂直居中

CSS3 Flexbox轻松实现元素的水平居中和垂直居中 网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点,而Flex是刚出来不久的东西而已,为了方便说明,赶上新技术,下面我就把这种布局叫Flex布局. 元素居中,相信作为前端工程师的你肯定会经常用到,不管是在水平方向居中,还是垂直方向居中,都可在你的职业生涯中徘徊.不过很多时候要实现垂直居中,还是比较麻烦的.不过你也不用担心,下面就给大家分享下通过Fl