国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

關于CSS的垂直居中

2024-04-27 15:08:26
字體:
來源:轉載
供稿:網友

第一次寫,有點緊張難過

在頁面中,垂直居中是個老大難的問題,方法各種各樣,我這邊列舉了我最喜歡的方便的幾個方法:

1.父元素高度一定,單行文本垂直居中

html部分

<div class="outside single-line">        我是單行內容</div>CSS部分:

.outside {	margin: 10px auto;        width: 250px;        height: 200px;        border: 3px solid #069;}/* 單行 */.single-line {        line-height: 200px;}這個最簡單,單行文本,父元素高度一定,直接設置line-height = 父元素高度就行了。

2.父元素高度一定,多行文本居中

html部分:

<div class="align_box_2">        <span class="align_Word">這里的文字用來做多行文字垂直居中對齊的測試。        	這是第二行文字,您還可以再<a href="javascript:;">添加</a>一行文字做測試!        </span></div>css部分:

.align_box_2 {        display:table-cell;         width:550px;         height:250px;         border:4px solid #beceeb;         color:#069;         vertical-align:middle;}這里使用table-cell,使用vertical-align: middle來定位,像表格一樣定位,也可以適用于圖片垂直定位,詳細的講解可以戳這里。

3.父元素高度不一定,子元素高度一定

這種情況也比較常見,方法很多人也肯定知道。

html部分:

<div class="out-auto">        <span class="text">            我是內容,父元素的高度不一定,但是我的內容高度是不變的,要把我居中...        </span></div>css部分:
.out-auto {        position: relative;        margin: 10px auto;        width: 200px;        height: 200px;        border: 3px solid #000;}.out-auto .text {        position: absolute;        top: 50%;        margin-top: -50px;        height: 100px;        border: 1px dashed #ccc;}這種方法其實很巧妙,先是絕對定位,top值為50%,找到中間的垂直的基準線,在通過margin-top上移子元素高度的一半來達到垂直居中的效果,這種不管父元素高度怎么變,只要子元素高度不變,定位一定沒問題,而且兼容性比較好。

4.父元素高度不定,子元素高度不定

一般像這種情況也可能在實際中會遇到比較多,比如手機端預覽圖片等等。

html部分:

<div class="out-auto">        <div class="inside-auto">            我的高度不定,我的父元素的高度也不定,但是要居中        </div></div>css部分:

.out-auto {        position: relative;        margin: 10px auto;        width: 200px;        height: 200px;        border: 3px solid #000;}.inside-auto {        position: absolute;        top: 50%;        border: 1px dashed #069;        transform: translateY(-50%);        -webkit-transform: translateY(-50%);        -o-transform: translateY(-50%);        -ms-transform: translateY(-50%);}這個方法使用C3的transform屬性,原理與上一中絕對定位上移的原理一致,translateY(-50%)上移自身的一般高度,不過兼容性有限,在不考慮低版本瀏覽器的情況下,這種方法真的是太太太好用了,我也一直使用這種方法,即節省代碼又效率高,PC移動都適用。

題外話:

在這里我在推薦一種方法,那就是flex布局,這種布局常見于移動端,有很多沒見過的屬性。

html部分:

<div class="v-flex">       <span class="v-item">           你好,我是flex布局       </span></div>css部分:

.v-flex {        display: flex;         justify-content: center;        align-items: center;        border: 2px solid #069;        width: 100px;        height: 200px;}

flex布局很神奇很好用,我自己也還沒有完全理解,現在很多移動端的框架都在使用這個,我也要與時俱進才行微笑


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大新县| 冀州市| 卓尼县| 龙江县| 都江堰市| 金华市| 基隆市| 聂荣县| 乐清市| 湟中县| 昔阳县| 屏南县| 同仁县| 洛宁县| 华安县| 延津县| 武安市| 涟水县| 辽阳市| 宕昌县| 东丰县| 满城县| 荆州市| 思南县| 吉林省| 宁津县| 工布江达县| 东城区| 咸丰县| 怀仁县| 扎囊县| 海南省| 阳朔县| 潮州市| 二连浩特市| 思茅市| 清水河县| 江城| 内丘县| 凭祥市| 肇州县|