当前位置: 首页>編程日記>正文

CSS居中对齐的各种方式

CSS居中对齐的各种方式

        在调CSS样式的时候,居中对齐是一种很常见的需求,我们可能会苦恼怎么实现才会更好,这就有必要了解CSS实现居中对齐的各种方式了,居中对齐就有水平居中和垂直居中。

水平居中

        水平居中首先要区分居中的对象是行内元素还是块级元素。行内元素直接用text-align:center设置就可以了,十分简单。

        块级元素的实现方式就比较多了,可以使用margin:0 auto设置外边距自适应来实现水平居中。如果是通过绝对定位absolute的元素可以使用left:50%+margin-left负值(宽度/2)来实现,缺点就是需要知道子元素的宽度,不能满足某些子元素宽度不确定的情况,但我们可以通过在外部包裹一层元素来解决这个问题。

<style>.box {position: relative;width: 200px;height: 200px;background-color: lightgreen;border: 2px solid black;}
​.out {position: absolute;left: 50%;top: 50%;}
​.in {height: 100px;width: 100px;background-color: pink;margin-left: -50%;margin-top: -50%;}</style><div class="box"><div class="out"><div class="in">测试内容</div>    </div>    </div>

        效果下所示,通过在子元素外部包裹一层div,来代替子元素的绝对定位,外部div通过子元素的宽高自适应,来作用于子元素的margin-left的百分比,从而达到水平居中对齐的目的。

        还有一种方式不需要知道子元素的宽度也是能够让绝对定位的元素居中,甚至不需要包裹div,我们需要设置绝对定位的left和right都为0,然后设置margin:0 auto就可以了。

        当然,现在最流行的flex布局可以通过justify-content:center十分简单的实现,随着浏览器的发展,flex的兼容性已经很好了,flex对我们前端开发人员来讲十分重要,不管是面试还是工作中都需要,如果还不熟的同学建议赶紧学。

垂直居中

        垂直居中同样需要区分行内元素和块级元素,行内元素设置inline-height等于height就可以简单实现,这个是个很常见的技巧。

        块级元素可以通过绝对定位absolute,设置top:50%加margin负值(高度/2),就如同水平居中那样,也可以通过transform(-50%,-50%)来设置,但transform作为CSS3的新特性,兼容性对于一些老版本的浏览器还不是很友好,具体使用还是要根据项目而定。像水平居中那样,垂直居中也能通过包裹div或者设置top、bottom为0+margin:auto 0来实现垂直居中。

        当然,万能的flex设置align-items:center也是能轻松解决垂直居中的,可见弹性布局的便利与简洁,这还不赶快去学。


https://www.fengoutiyan.com/post/14516.html

相关文章:

  • css中居中对齐的属性
  • 怎么将页面垂直对齐方式为居中对齐
  • 标题文本框段落对齐方式为居中对齐
  • excel默认居中对齐的是
  • css图片居中对齐
  • word文档居中对齐怎么设置
  • 也没对齐方式
  • 文本居中对齐css
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機