鼠年全马铁人挑战 WEEK 11: 水平垂直置中、排版黑魔法 CSS-Flex

在还没认识Flex前我的水平垂直置中招式,永远都只有这几招,line-height+margin auto或用postion来设定,但每次遇到的状况还不一定能用以上的方式解决! (ఠ్ఠ ˓̭ ఠ్ఠ),直到我认识到了Flex,才了解什么叫做相见恨晚!

今天就让我们浅谈Flexbox

http://img2.58codes.com/2024/20124879ml4SNeLDeh.png
容我用w3cschool的图,以我的了解直白的做解释

在图中最外面用了一层 Flex Container所包覆着,要使用FlexBox之前,我们需要给定一个区块,让这个区块内的元件具有 Flex的效果。
display:flex
图中主要被 Main以及Cross所划分。:Main就是X轴,而Cross就是Y轴。至于Start、End,就是开始以及结束,主要是判断方向。
justify-content//根据Mainalign-items//根据Crossflex-direction//根据Start、End
所以你可以把FlexBox解释成:在一个容器当中,我们将每一个区块都视为一个 Item
其中每一个Item的摆放位置,透过 Main、Cross这两条线来去划分。将我们的区块放入我们想要的位置。

flex-direction

可点击标题了解

row:预设值,由左到右,从上到下row-reverse:与 row 相反column:从上到下,再由左到右column-reverse:与 column 相反

justify-content

可点击标题了解

flex-start:预设值,对齐最左边的 main startflex-end:对齐最左边的 main endcenter:水平置中space-between:平均分配内容元素,左右元素将会与 main start 和 main end 贴齐space-around:平均分配内容元素,间距也是平均分配

align-items

可点击标题了解

flex-start:对齐最上面的 cross startflex-end:对齐最下面的 cross endcenter:垂直置中stretch:预设值,将内容元素全部撑开至 Flexbox 的高度baseline:以所有内容元素的基线作为对齐标準

所以我们就能利用justify-contentalign-items使图片置中了。

<body>  <div class="container">  <h1>妈!我置中了</h1>  </div>  <style>    .container{      width: 400px;      height: 400px;      display: flex;      justify-content: center;      align-items: center;      border: 2px solid #000000;    }    h1{      color: navy;    }   </style></body>

http://img2.58codes.com/2024/20124879m4PzeKOzr2.png

以上皆参考自w3cschool文章


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章