日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

如何实现CSS居中?–CSS居中常用方法

發布時間:2025/5/22 CSS 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何实现CSS居中?–CSS居中常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章參考:http://css-tricks.com/centering-css-complete-guide/?utm_source=ourjs.com(翻譯不當之處請諒解)

一、水平居中

1、內聯元素居中:相對父級塊級元素居中對齊

1: .center-children {2: text-align: center;3: }

2、塊級元素居中:設置margin-left和margin-right為auto讓它居中(同時還要設置width,否則它就會承滿整個容器,無法看出居中效果)

1: .center-me {2: margin: 0 auto;3: }

如果有很多塊級元素需要水平居中成一行,最好使用一個不同的display類型。這是一個使用inline-block和flex的例子。

演示地址:http://jsfiddle.net/Web_Code/5fvrwwk1/embedded/result/

1: <main class="inline-block-center">2: <div>3: I'm an element that is block-like with my siblings and we're centered in a row.4: </div>5: <div>6: I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.7: </div>8: <div>9: I'm an element that is block-like with my siblings and we're centered in a row.10: </div>11: </main>12: <main class="flex-center">13: <div>14: I'm an element that is block-like with my siblings and we're centered in a row.15: </div>16: <div>17: I'm an element that is block-like with my siblings and we're centered in a row. I have more content in me than my siblings do.18: </div>19: <div>20: I'm an element that is block-like with my siblings and we're centered in a row.21: </div>22: </main>

css:

1: body {2: background: #f06d06;3: font-size: 80%;4: }5: main {6: background: white;7: margin: 20px 0;8: padding: 10px;9: }10: main div {11: background: black;12: color: white;13: padding: 15px;14: max-width: 125px;15: margin: 5px;16: }17: .inline-block-center {18: text-align: center;19: }20: .inline-block-center div {21: display: inline-block;22: text-align: left;23: }24: .flex-center {25: display: flex;26: justify-content: center;27: }

二、垂直居中

1、內聯元素:設置相等的上下padding,或者利用line-height

1: .link {2: padding-top: 30px;3: padding-bottom: 30px;4: }

文本不會換行的情況下,可以使用line-height,讓其與height相等去對齊文本。

1: .center-text-trick {2: height: 100px;3: line-height: 100px;4: white-space: nowrap;5: }

多行的文本也可以利用上下等padding的方式也可以讓多行居中,但是如果這方法沒用,你可以讓這些文字的容器按table cell模式顯示,然后設置文字的vertical-align屬性對齊,
演示地址:http://jsfiddle.net/Web_Code/5fvrwwk1/1/embedded/result/
html:

1: <table>2: <tr>3: <td>4: I'm vertically centered multiple lines of text in a real table cell.5: </td>6: </tr>7: </table>8: <div class="center-table">9: <p>I'm vertically centered multiple lines of text in a CSS-created table layout.</p>10: </div>

css

1: body {2: background: #f06d06;3: font-size: 80%;4: }5: table {6: background: white;7: width: 240px;8: border-collapse: separate;9: margin: 20px;10: height: 250px;11: }12: table td {13: background: black;14: color: white;15: padding: 20px;16: border: 10px solid white;17: /* default is vertical-align: middle; */18: }19: .center-table {20: display: table;21: height: 250px;22: background: white;23: width: 240px;24: margin: 20px;25: }26: .center-table p {27: display: table-cell;28: margin: 0;29: background: black;30: color: white;31: padding: 20px;32: border: 10px solid white;33: vertical-align: middle;34: }

2、塊級元素

若元素有固定高度,可以這樣垂直居中

1: .parent {2: position: relative;3: }4: .child {5: position: absolute;6: top: 50%;7: height: 100px;8: margin-top: -50px; /* 如果沒有使用: border-box; 的盒子模型則需要設置這個 */9: }

如果不知道元素高度,則這樣

1: .parent {2: position: relative;3: }4: .child {5: position: absolute;6: top: 50%;7: transform: translateY(-50%);8: }

也可以使用flexbox

1: <main>2: <div>3: I'm a block-level element with an unknown height, centered vertically within my parent.4: </div>5: </main>1: body {2: background: #f06d06;3: font-size: 80%;4: }5: main {6: background: white;7: height: 300px;8: width: 200px;9: padding: 20px;10: margin: 20px;11: display: flex;12: flex-direction: column;13: justify-content: center;14: resize: vertical;15: overflow: auto;16: }17: main div {18: background: black;19: color: white;20: padding: 20px;21: resize: vertical;22: overflow: auto;23: }

三、同時水平和垂直居中

1、元素有固定高度和寬度:先絕對居中,然后上移和左移50%的寬度即可

1: //這種方案有極好的跨瀏覽器支持。2: .parent {3: position: relative;4: }5: .child {6: width: 300px;7: height: 100px;8: padding: 20px;9: position: absolute;10: top: 50%;11: left: 50%;12: margin: -70px 0 0 -170px;13: }

2、元素的高度和寬度未知或可變的:使用transofrm屬性在兩個方向都平移負50%

1: .parent {2: position: relative;3: }4: .child {5: position: absolute;6: top: 50%;7: left: 50%;8: transform: translate(-50%, -50%);9: }

原文首發:http://www.ido321.com/824.html

總結

以上是生活随笔為你收集整理的如何实现CSS居中?–CSS居中常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。