1. 程式人生 > >CSS 水平居中與垂直居中

CSS 水平居中與垂直居中

前言

在CSS佈局中,水平居中與垂直居中一直是用到比較多的,在本篇中將介紹水平居中、垂直居中的幾種方式。

示例

HTML

<div class="parent">
    <div class="child"></div>
</div>

CSS

.parent {
    width: 200px;
    height: 100px;
    position: relative;
    background-color: #374858;
}

.parent .child {
    width: 100px;
    height: 50px;
    background-color: #9dc3e6;
}

效果

1. 水平居中

這裡將分別介紹當子元素的樣式為內聯塊級以及絕對定位時的水平居中佈局方案。

1.1 子元素為內聯樣式

說明:當子元素為內聯樣式時(display: inline-block | inline-flex | inline-grid | inline-table 也含有內聯樣式特性),只需要設定父元素的text-align: center。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    text-align: center;
}
.parent .child {
    display: inline-block;
}

1.2 子元素為塊級樣式

說明:父元素和子元素都是塊級元素時,設定子元素的margin: 0 auto即可。

注意:此時的子元素需要設定width。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {}

.parent .child {
    display: block;
    margin: 0 auto;
}

1.3 子元素 position: absolute

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {}

.parent .child {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

1.4 父元素 display: flex

說明:此時子元素可為內聯、塊級元素。

瀏覽器支援:IE 11。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    display: flex;
    justify-content: center;
}

.child {
    display: inline;
    margin: 0 auto;
}

2. 垂直居中

同水平居中一樣,這裡也將分別介紹當子元素的樣式為內聯塊級以及絕對定位時的垂直居中佈局方案。

2.1 子元素為塊級元素

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    display: table-cell;
    vertical-align: middle;
}

.parent .child {
    display: block;
}

2.2 子元素 position: absolute

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {}

.parent .child {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}

2.3 父元素 display: flex

說明:此時子元素可為內聯、塊級元素

瀏覽器支援:IE 11。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    display: flex;
    align-items: center;
}

.parent .child {
    display: inline;
}

3. 水平居中+垂直居中

3.1 子元素 display: inline-block

說明:設定子元素的display: inline-block。

注意:此時的子元素需要設定width和height。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.parent .child {
    display: inline-block;
}

3.2 子元素 position: absolute

說明:此時的子元素為絕對定位。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    position: relative;
}

.parent .child {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

3.3 父元素 display: flex

瀏覽器支援IE 11。

CSS

.parent {width: 200px;height: 100px;position: relative;background-color: #374858;}
.parent .child {width: 100px;height: 50px;background-color: #9dc3e6;}

.parent {
    display: flex;
    justify-content: center;
    align-items: center;
}

.parent .child {}

相關推薦

CSS 水平居中垂直居中

前言 在CSS佈局中,水平居中與垂直居中一直是用到比較多的,在本篇中將介紹水平居中、垂直居中的幾種方式。 示例 HTML: <div class="parent"> <div class="child"></div> </div>

水平居中垂直居中,以及對齊

代碼 布局 ott 水平居中 研究 背景圖 兼容性 vertical float 我以前一直都搞不清楚水平居中與垂直居中,更不用談什麽對齊,臨時抱佛腳,也找不到很好的答案,於是把網上的代碼研究了一番,總結一下經驗: 盒子水平居中:margin:0 auto 註意:在

水平居中垂直居中

js xml order 模型 cti 固定 屬性 元素垂直居中 nbsp attribute 一、水平居中 1)如果是行內元素,需要在它的父元素上設置text-align: center; 2)如果是塊元素,直接設置元素的css屬性text-align: center;

[ CSS ] line-height 垂直居中!

在此之前,對於line-height 與垂直居中的問題,經常碰到。  比如,圖片與span在同一個box中的時候,竟然會各種偏移。要想達到理想的效果真的是各種難。 有時間,決定認真的啃一啃。 一 line-heigth: 1. line-height: 顧名思義,行高,指代

css水平居中垂直居中的方法

solid str 指正 relative eight 方法 ron for child html <div class="father">  <div class="child"></div></div> 法一:已知道兩個盒

css圖片居中(水平居中垂直居中)

-a 模擬 支持ie str left tro 支持 用法 gree http://www.51xuediannao.com/html+css/htmlcssjq/css_img_center.html css圖片居中分css圖片水平居中和垂直居中兩種情況,有時候還需要

js腳本控制圖片水平垂直居中

處理方法 cti 超出 1-1 es2017 ole div http con 使用方法: 1.定義ResizeImg(obj)方法 1 function ResizeImg(obj) { 2 var boxHeight = $(".box").hei

CSS樣式設置(水平居中垂直居中

ble 屬性 -a top code 長度 str 行內元素 我們 一、水平居中 種類 元素屬性 特征 例子 內聯元素 文本、圖片等行內元素 通過給父元素設置 text-align:center 來實現的 .imgCenter{  text-align:cent

HTML/CSS:圖片居中(水平居中垂直居中)(重要)

css圖片居中分css圖片水平居中和垂直居中兩種情況,有時候還需要圖片同時水平垂直居中。    css圖片水平居中 1.利用margin: 0 auto實現圖片水平居中   利用margin: 0 auto實現圖片居中就是在圖片上加上css樣式m

CSS全面實現內容水平居中垂直居中

CSS全面實現內容水平居中,垂直居中 概述 水平居中(內容) 行級元素inline/inline-block 塊級元素(block) 一行多個塊級元素 垂直居中(內容) 行級元

CSS設定行內元素和塊級元素的水平居中垂直居中

CSS設定行內元素和塊級元素的水平居中、垂直居中 首先,介紹一下行內元素和塊級元素,這個很重要,因為有的屬性只能用於塊元素,而有的正好相反,在一定的情況下,它們也可以相互轉換,比如用display來進行設定。 行內元素: ①不佔據一整行,隨內容而定,有以下特點: ②不可以設定

CSS——水平居中垂直居中水平垂直居中

這裡父元素和子元素的寬高都是不確定的,想實現子元素在父元素中的水平居中、垂直居中、水平垂直居中。下面列出了部分解決方法,如果大家有好的方法,歡迎留言~ 一、水平居中 html程式碼如下: <div class="parent"> <div cl

CSS內聯元素、塊級元素的水平居中垂直居中方法總結

在牛客網上刷題,錯了一道塊級元素居中的題,藉此複習一下CSS中元素居中的各種方式: 更新:BootStrap輔助類:center-block 用法:定寬容器中的內容到達寬度自動換行,高度不定,自動水平垂直都居中。簡單測試了一下,中文日文可自動換行,英文不行。

CSS佈局之水平居中垂直居中

前端佈局非常重要的一環就是頁面框架的搭建,也是最基礎的一環。在頁面框架搭建之中,又有居中佈局/多列布局/全域性佈局。今天介紹一下居中佈局的一些技巧。居中佈局水平居中1.使用inline-block + text-align:原理:先將子框由塊級元素改變為行內塊元素,再通過設定行內塊元素居中以達到水平居中的目的

web 開發筆記 “CSS水平居中垂直居中

一、CSS 居中 — 水平居中 1.CSS+DIV控制頁面中元素水平居中程式碼 DIV等標籤本身沒有定義自己居中的屬性,網上很多的方法都是介紹用上級的text-align: center,然後巢狀一層DIV來解決問題。 可是這個方法有時候完全不起作用,而且對於佈局是非常不科

html css 實現元素的水平居中垂直居中 全面 方法

在html中,元素主要分為行內元素和塊級元素;行內元素指的是書寫完成後不會自動換行,並且元素沒有寬和高。塊級元素寫完後會自動換行,有寬高可以修改。還有一種特殊的元素叫做行內塊元素。大致分內是:行內元素有:heda   meat   title  lable  span  br  a   style  em  

CSS/CSS3 實現 水平居中垂直居中的完整攻略

一.水平居中  (1)行內元素解決方案 只需要把行內元素包裹在一個屬性display為block的父層元素中,並且把父層元素新增如下屬性即可: .parent { text-align:center; } (2)塊狀元素解決方案 .item {

CSS設定水平居中垂直居中

水平居中: 一、內聯元素: 行內元素的父元素設定 text-align:center; 二、塊級元素: 1.定寬塊級元素: 設定margin:auto; 2.不定寬塊級元素: ⑴加入table標籤:缺點: 利用table標籤長度自適應性,即根據內容長度決定,然後再設定mar

主流 CSS 佈局(水平居中垂直居中居中 )

什麼是佈局 html 頁面的整體結構或骨架 佈局不是某個技術內容 而是一種設計思想 [ 佈局方式 ] 水平居中佈局 垂直居中佈局 居中佈局( 水平 + 垂直 ) 什麼是水平居中佈局 水平居中佈局 元素相對於頁面/元素相對於父元素水平居中 [ 實現方式 ] inline-block + text-al

css多行文本垂直居中

-c get add class alt form ati ble col 今天需要將文本垂直居中,就是一行是垂直居中,多行也是垂直居中。 效果如下 實現代碼(同事提供) <!DOCTYPE html> <html> <head lang=