摘要:它為什么備受關注并不是因為它難實現,而是因為實現的策略太多了,讓人無可下手,無可選擇。多行塊級元素實現原理同水平居中的水平垂直居中綜合運用水平垂直居中即可。
它為什么備受關注?
并不是因為它難實現,而是因為實現的策略太多了,讓人無可下手,無可選擇。
將各個問題分類,給出常用解
水平居中 行內元素: text-align:centerhtml:
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; text-align: center; } a{ color: #000; }單行塊級元素 已知寬:margin:0 auto;
html:
width:200px; margin:0 auto;
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; width :200px; margin: 0 auto; }
當它是float的時候,效果并不理想!
float:left;
html:
position: absolute;
width :300px;
left: 50%;
margin-left: -150px;
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; position: absolute; width :300px; left: 50%; margin-left: -150px; }不需要已知寬:position:absolute;
html:
position: absolute;
left: 50%;
transform: translateX(-50%);
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; position: absolute; left: 50%; transform: translateX(-50%); }多行塊級元素 display : flex;
html:
display:flex;display:flex;display:flex;display:flex;
css:
.parent{ display: flex; justify-content: center; background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; } .child{ background-color: #cbcbcb; padding: 0 20px; }display : inline-block;
html:
display:inline-block;display:inline-block;display:inline-block;display:inline-block;
css:
.parent{ text-align: center; padding: 0; background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; } .child{ display: inline-block; background-color: #cbcbcb; padding: 0 20px; }
小問題
有沒有發現,inline-blodk之間是有邊距的?這可不是bug,是因為元素之間存在空格,如何去消除呢?去除inline-block元素間間距的N種方法
垂直居中 行內元素 padding:30px 0;html:
css:
p{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; padding: 30px 0; } a{ color:#000; }line-height : height;
html:
css:
p{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; height: 100px; line-height: 100px; } a{ color: #000; }多行行內元素 vertical : middle;
html:
default:
vertical:middle
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; } table{ height: 100px; }display : flex;
html:
css:
div{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; height: 120px; display: flex; flex-direction: column; justify-content: center; } a{ color: #000; }加入幽靈元素
html:
css:
.ghost{ background-color: #f8c5c7; font-size: 20px; font-weight: 800; font-family: cursive; height: 100px; } .ghost:before{ content: ""; display: inline-block;; height: 100%; width: 1%; vertical-align: middle; } a{ display: inline-block; vertical-align: middle; color: #000; }單行塊級元素
實現原理同水平居中。
多行塊級元素實現原理同水平居中的display:flex;
水平垂直居中綜合運用水平垂直居中即可。
參考資料Centering in CSS: A Complete Guide
Flexbox詳解
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/111678.html
摘要:包括水平居中,垂直居中,還有水平垂直居中。如果要再要細分,還要分浮動元素絕對定位的居中。樣式水平居中的元素圖片的水平居中圖片的居中,比較特殊。 2018.05.29 居中一個元素?你會想到啥?這里面的知識還真不少。包括水平居中,垂直居中,還有水平垂直居中。如果要再要細分,還要分浮動元素、絕對定位的居中。為了代碼簡介,沒有加背景和其他樣式,需要看效果的,可以加上背景。 目錄: 第一...
摘要:水平居中水平居中可分為行內元素水平居中和塊級元素水平居中行內元素水平居中這里行內元素是指文本圖像按鈕超鏈接等,只需給父元素設置即可實現。 1、水平居中 水平居中可分為行內元素水平居中和塊級元素水平居中 1.1 行內元素水平居中 這里行內元素是指文本text、圖像img、按鈕超鏈接等,只需給父元素設置text-align:center即可實現。 .center{ te...
摘要:水平居中水平居中可分為行內元素水平居中和塊級元素水平居中行內元素水平居中這里行內元素是指文本圖像按鈕超鏈接等,只需給父元素設置即可實現。 1、水平居中 水平居中可分為行內元素水平居中和塊級元素水平居中 1.1 行內元素水平居中 這里行內元素是指文本text、圖像img、按鈕超鏈接等,只需給父元素設置text-align:center即可實現。 .center{ te...
摘要:筆記整理之一水平垂直居中固定寬高一般使用負值進行居中不固定寬高一般使用和進行下面三種方案平常都很少被使用的到移動端一般使用方案在移動端都可以使用文本水平垂直居中文本垂直文本垂直居中移動端水平垂直居中垂直居中方案快級元素 筆記整理之一:水平垂直居中 PC固定寬高、一般使用maring負值進行居中PC不固定寬高、一般使用relative和left進行 下面三種方案平常都很少被使用的到 ...
摘要:前言居中是網頁布局中再常見不過的一種方式了,今天我們就來聊聊居中的那點事。我是水平居中的同樣是針對塊級元素才有效果。來看代碼我是水平居中的必須配合來使用來可以實現居中的效果。方法二我是垂直居中的注意此方法要考慮的兼容性問題。 前言:居中是網頁布局中再常見不過的一種方式了,今天我們就來聊聊css居中的那點事。 我們主要從這幾個方面來了解下居中: 水平居中 垂直居中 水平垂直居中 水平...
閱讀 2731·2023-04-26 02:28
閱讀 2564·2021-09-27 13:36
閱讀 3134·2021-09-03 10:29
閱讀 2761·2021-08-26 14:14
閱讀 2110·2019-08-30 15:56
閱讀 841·2019-08-29 13:46
閱讀 2616·2019-08-29 13:15
閱讀 461·2019-08-29 11:29