찾다
웹 프론트엔드HTML 튜토리얼CSS实现水平垂直同时居中的5种思路_html/css_WEB-ITnose

× 目录 [1]水平对齐+行高 [2]水平+垂直对齐 [3]margin+垂直对齐 [4]absolute [5]flex

前面的话

  水平居中和垂直居中已经单独介绍过,本文将介绍水平垂直同时居中的5种思路

 

思路一: text-align + line-height实现单行文本水平垂直居中

<style>.test{    text-align: center;    line-height: 100px;}</style>

<div class="test" style="background-color: lightblue;width: 200px;">测试文字</div>   

 

思路二: text-align + vertical-align

【1】在父元素设置text-align和vertical-align,并将父元素设置为table-cell元素,子元素设置为inline-block元素

  [注意]若兼容IE7-浏览器,将结构改为

结构来实现table-cell的效果;用display:inline;zoom:1;来实现inline-block的效果

<style>.parent{    display: table-cell;    text-align: center;    vertical-align: middle;}.child{    display: inline-block;}</style>

<div class="parent" style="background-color: gray; width:200px; height:100px;">  <div class="child" style="background-color: lightblue;">测试文字</div></div> 

【2】若子元素是图像,可不使用table-cell,而是其父元素用行高替代高度,且字体大小设为0。子元素本身设置vertical-align:middle

<style>.parent{    text-align: center;    line-height: 100px;    font-size: 0;}.child{    vertical-align: middle;}</style>

<div class="parent" style="background-color: gray; width:200px; ">  <img class="child lazy"  src="/static/imghwm/default1.png"  data-src="http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/img1.gif"     style="max-width:90%" alt="test"></div>  

 

思路三: margin + vertical-align

  要想在父元素中设置vertical-align,须设置为table-cell元素;要想让margin:0 auto实现水平居中的块元素内容撑开宽度,须设置为table元素。而table元素是可以嵌套在tabel-cell元素里面的,就像一个单元格里可以嵌套一个表格

  [注意]若兼容IE7-浏览器,需将结构改为

结构

<style>.parent{    display:table-cell;    vertical-align: middle;}.child{    display: table;    margin: 0 auto;}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

 

思路四: 使用absolute

【1】利用绝对定位元素的盒模型特性,在偏移属性为确定值的基础上,设置margin:auto

<style>.parent{    position: relative;}.child{    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;    height: 50px;    width: 80px;    margin: auto;}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

【2】利用绝对定位元素的偏移属性和translate()函数的自身偏移达到水平垂直居中的效果

  [注意]IE9-浏览器不支持

<style>.parent{    position: relative;}.child{    position: absolute;    top: 50%;    left: 50%;    transform: translate(-50%,-50%);}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

【3】在子元素宽高已知的情况下,可以配合margin负值达到水平垂直居中效果

<style>.parent{    position: relative;}.child{    position: absolute;    top: 50%;    left: 50%;    width: 80px;    height: 60px;    margin-left: -40px;    margin-top: -30px;}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

 

思路五: 使用flex

  [注意]IE9-浏览器不支持

【1】在伸缩项目上使用margin:auto

<style>.parent{    display: flex;}.child{    margin: auto;}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

【2】在伸缩容器上使用主轴对齐justify-content和侧轴对齐align-items

<style>.parent{    display: flex;    justify-content: center;    align-items: center;}</style>

<div class="parent" style="background-color: lightgray; width:200px; height:100px; ">  <div class="child" style="background-color: lightblue;">测试文字</div></div>  

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
HTML, CSS 및 JavaScript : 예제 및 실제 응용 프로그램HTML, CSS 및 JavaScript : 예제 및 실제 응용 프로그램May 09, 2025 am 12:01 AM

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. 1. HTML은 웹 페이지 구조를 구축하는 데 사용됩니다. 2. CSS는 웹 페이지의 모양을 아름답게하는 데 사용됩니다. 3. JavaScript는 동적 상호 작용을 달성하는 데 사용됩니다. 태그, 스타일 및 스크립트를 통해이 세 가지는 함께 현대 웹 페이지의 핵심 기능을 구축합니다.

 태그에서 Lang 속성을 어떻게 설정합니까? 이것이 중요한 이유는 무엇입니까? 태그에서 Lang 속성을 어떻게 설정합니까? 이것이 중요한 이유는 무엇입니까?May 08, 2025 am 12:03 AM

태그의 Lang 속성을 설정하는 것은 웹 접근성 및 SEO를 최적화하는 핵심 단계입니다. 1) 태그에 LANG 속성을 설정하십시오. 2) 다국어 컨텐츠에서는 다른 언어 부품에 대한 LANG 속성을 설정하십시오. 3) "en", "fr", "zh"와 같은 ISO639-1 표준을 준수하는 언어 코드를 사용하여 LANG 속성을 올바르게 설정하면 웹 페이지 및 검색 엔진 순위의 접근성을 향상시킬 수 있습니다.

HTML 속성의 목적은 무엇입니까?HTML 속성의 목적은 무엇입니까?May 07, 2025 am 12:01 AM

htmlattributesearsentialforenhancingwebelements'functionalityandAmpearance.theyaddinformationTodeFineBehavior, 외관 및 간호, WebsITESITERACTIVE, RAPITIVE 및 VVESILLY -CAMENTION.ATTRIBUTESLIKESRC, HREF, 클래스, 유형 및 디스티브 트랜스포트

HTML에서 목록을 어떻게 만드나요?HTML에서 목록을 어떻게 만드나요?May 06, 2025 am 12:01 AM

ToCreateAlistInhtml, useUnorderEdListandForOrdLists : 1) forUnderedList, wrapitemSinanduseForeachitem, renderingasabulletedList.2) forOrderEdlists, useandfornumberedLists, useandfornumberedlists, useandfornumberedlists, useandfornumberedlists, withTheyPeatTributeFferentNumberingStyles.

html in Action : 웹 사이트 구조의 예html in Action : 웹 사이트 구조의 예May 05, 2025 am 12:03 AM

HTML은 명확한 구조를 가진 웹 사이트를 구축하는 데 사용됩니다. 1) 태그를 사용하여 웹 사이트 구조를 정의하십시오. 2) 예는 블로그 및 전자 상거래 웹 사이트의 구조를 보여줍니다. 3) 잘못된 레이블 중첩과 같은 일반적인 실수를 피하십시오. 4) HTTP 요청을 줄이고 시맨틱 태그를 사용하여 성능을 최적화합니다.

HTML 페이지에 이미지를 어떻게 삽입합니까?HTML 페이지에 이미지를 어떻게 삽입합니까?May 04, 2025 am 12:02 AM

TOINSERTANIMAGEINTOANHTMLPAGE, USETHETAGWITHSRCANDALTATTRIBUTES.1) USEALTTEXTFORACCESSIBLEANDSEO.2) AMPLEMESSRCSETFORRESPONSIVEIMAGES.3) ApplyLazyLoadingWithLoading = "Lazy"TOOPTIMIZEPEROUCTION.4) OPTIMIZEPEPERCESIVEIMAGES

HTML의 목적 : 웹 브라우저가 컨텐츠를 표시 할 수 있도록합니다HTML의 목적 : 웹 브라우저가 컨텐츠를 표시 할 수 있도록합니다May 03, 2025 am 12:03 AM

HTML의 핵심 목적은 브라우저가 웹 컨텐츠를 이해하고 표시 할 수 있도록하는 것입니다. 1. HTML은 TO 등과 같은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의합니다. 2. HTML5는 멀티미디어 지원을 향상시키고 소개 및 태그를 향상시킵니다. 3.html은 사용자 상호 작용을 지원하기위한 양식 요소를 제공합니다. 4. HTML 코드를 최적화하면 HTTP 요청 감소 및 HTML 압축과 같은 웹 페이지 성능이 향상 될 수 있습니다.

HTML 태그가 웹 개발에 중요한 이유는 무엇입니까?HTML 태그가 웹 개발에 중요한 이유는 무엇입니까?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentasthuctureandenhancewebpages.1) thefinelayout, semantics 및 internactivity.2) semantictagsimproveAccessibility 및 sseo.3) appleasoftagscanoptimizeperformanceandenseRocRossercompatiber.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.