最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

HTML对于元素水平垂直居中

来源:懂视网 责编:小采 时间:2020-11-27 15:35:51
文档

HTML对于元素水平垂直居中

HTML对于元素水平垂直居中:我们在设计页面的时候,经常要把p居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。到现在为止,探讨了很多种方法。HTML:<body> <p class="maxbox"> <p class="minbox
推荐度:
导读HTML对于元素水平垂直居中:我们在设计页面的时候,经常要把p居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。到现在为止,探讨了很多种方法。HTML:<body> <p class="maxbox"> <p class="minbox
我们在设计页面的时候,经常要把p居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。

到现在为止,探讨了很多种方法。

HTML:

<body>
 <p class="maxbox">
 <p class="minbox align-center"></p>
 </p>
</body>

效果图(下面几种方法效果图一样):

HTML对于元素水平垂直居中

第一种: CSS绝对定位

主要利用绝对定位,再用margin调整到中间位置。

父元素:

.maxbox{ 
 position: relative; 
 width: 500px; 
 height: 500px; 
 margin: 5px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

子元素:

.minbox{ 
 width: 200px; 
 height: 200px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

水平垂直居中对齐:

.align-center{ 
 position: absolute; 
 left: 50%; 
 top: 50%; 
 margin-left: -100px; /*width/-2*/
 margin-top: -100px; /*height/-2*/
}

第二种: CSS绝对定位 + Javascript/JQuery

主要利用绝对定位,再用Javascript/JQuery调整到中间位置。相比第一种方法,此方法提高了class的灵活性。

父元素:

.maxbox{ 
 position: relative; 
 width: 500px; 
 height: 500px; 
 margin: 5px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

子元素:

.minbox{ 
 width: 200px; 
 height: 200px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

水平垂直居中对齐:

.align-center{ 
 position: absolute; 
 left: 50%; 
 top: 50%; 
}

JQuery:

$(function(){ 
 $(".align-center").css( 
 { 
  "margin-left": ($(".align-center").width()/-2), 
  "margin-top": ($(".align-center").height()/-2) 
 } 
 ); 
});

第三种: CSS3绝对定位 + 位移

使用绝对定位与CSS3的 transform: translate同样也可以达到效果。

父元素:

.maxbox{ 
 position: relative; 
 width: 500px; 
 height: 500px; 
 margin: 5px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

子元素:

.minbox{ 
 width: 200px; 
 height: 200px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

水平垂直居中对齐:

.align-center{ 
 position: absolute; 
 top: 50%; 
 left: 50%; 
 -webkit-transform: translate(-50%, -50%); 
 -moz-transform: translate(-50%, -50%); 
  transform: translate(-50%, -50%); /*向左向上位移*/
}

第四种: Flexbox: [伸缩布局盒模型]

要让元素水平垂直,对于Flexbox模型来说太容易了。

这里得改变一下HTML:

<p class="maxbox align-center">
 <p class="minbox"></p>
</p>

父元素:

.maxbox{ 
 position: relative; 
 width: 500px; 
 height: 500px; 
 margin: 5px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

子元素:

.minbox{ 
 width: 200px; 
 height: 200px; 
 box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); 
}

水平垂直居中对齐:

.align-center{ 
 display: flex; 
 display: -webkit-flex; /*兼容问题*/
 justify-content: center; 
 align-items: center; 
}

几种方法的比较:

第一种CSS绝对定位margin调整,兼容性很好但是欠缺灵活性。如果有很多box里需要水平垂直居中,因其width,height不同而需要写不同的 .align-center 。
第二种使用脚本语言,兼容性很好且弥补了第一种的缺点。不因width,height的改变而影响水平垂直居中的效果。
第三种使用CSS3的一些新的属性,兼容IE10, Chrome, Firefox, 和 Opera。兼容性不太很好,不因width,height的改变而影响水平垂直居中的效果。
使用Flexbox模型,兼容Firefox、Opera 和 Chrome,IE全军覆没。也是不因width,height的改变而影响水平垂直居中的效果。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

HTML对于元素水平垂直居中

HTML对于元素水平垂直居中:我们在设计页面的时候,经常要把p居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。到现在为止,探讨了很多种方法。HTML:<body> <p class="maxbox"> <p class="minbox
推荐度:
标签: 居中 元素 html
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top