[CSS]之居中篇

作者: 是苏菇凉呀 | 来源:发表于2019-04-22 15:45 被阅读27次

一、垂直居中

1.内联元素

给内联元素的上下加上相等的padding。
HTML代码

<main>
    <a href="">我们</a>
    <a href="">是</a>
    <a href="">居中的</a>
</main>

CSS样式

main {
  border: 1px solid red;
  margin: 20px 0;
  padding: 50px;
}
main a {
  background: black;
  color: white;
  padding: 40px 30px;
  text-decoration: none;
}

效果图


内联元素垂直居中.png

2.块级元素中的文字垂直居中

将元素的line-height定为和元素的高度一致。
HTML代码

<main>
    <div>我是垂直居中的</div>
</main>

CSS样式

main {
  border: 1px solid red;
  margin: 20px 0;
}
main div {
  height: 200px;
  line-height: 200px;
  text-decoration: none;
  background: black;
  color: white;
}

效果图


块级元素中的文字垂直居中.png

3.高度确定的块级元素

使用绝对定位,top设置为50%,magrgin-top设置为负的高度的一半。
HTML代码

  <main>
    <div>定高的块级元素垂直居中</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  position: relative
}
main div {
  height: 100px;
  line-height: 100px;           /*使文字垂直居中*/
  position: absolute;
  top: 50%;
  margin-top: -50px;          /*值为高度100px的一半*/
  background: black;
  color: white;
}

效果图


定高的块级元素垂直居中.png

4.高度不确定的块级元素

方法一:使用绝对定位,top设置为50%,translateY设置为-50%。

HTML代码

  <main>
    <div>高度不确定的块级元素垂直居中</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  position: relative
}
main div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: black;
  color: white;
}

效果图


高度不定的块级元素垂直居中.png
方法二:使用flex布局。

HTML代码

<main>
    <div>高度不确定的块级元素垂直居中</div>
</main>

CSS样式

main {
  height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid red;
}
main div {
  background: black;
  color: white;
}

二、水平垂直居中

1.高度不定的块级元素

使用绝对定位,top设置为50%,left设置为50%,translate(-50%, -50%)
HTML代码

  <main>
    <div>高度不定的块级元素水平垂直居中</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  position: relative
}
main div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: black;
  color: white;
}

效果图


高度不定的块级元素水平垂直居中.png

2.高度确定的块级元素

使用绝对定位,top设置为50%,left设置为50%,margin为负的元素宽高各自的一半。
HTML代码

  <main>
    <div>高度确定的块级元素水平垂直居中</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  position: relative;
}
main div {
  width: 200px;
  height: 200px;
  position: absolute;
  top: 50%;
  margin: -100px;        /*值为宽高200px的一半*/
  left: 50%;
  background: black;
  color: white;
}

效果图


高度确定的块级元素水平垂直居中.png

3.flex布局实现水平垂直居中

HTML代码

  <main>
    <div>felx布局</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  display: flex;
  justify-content: center;
  align-items: center;
}
main div {
  width: 200px;
  height: 200px;
  background: black;
  color: white;
}

4.grid布局实现水平垂直居中

HTML代码

  <main>
    <div>grid布局</div>
  </main>

CSS样式

main {
  height: 300px;
  border: 1px solid red;
  display: grid;
}
main div {
  width: 200px;
  height: 200px;
  background: black;
  color: white;
  margin: auto;
}

相关文章

  • [CSS]之居中篇

    一、垂直居中 1.内联元素 给内联元素的上下加上相等的padding。HTML代码 CSS样式 效果图 2.块级元...

  • web前端面试之CSS布局(码动未来)

    web前端面试之CSS布局(码动未来) 2.2.1、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居...

  • 垂直水平居css

    学到一种垂直水平居中方式给需要居中的目标元素 加 它会垂直水平居中与父元素

  • 论语中级读本(颜渊第十二)(6)

    12.14 子張問政,子曰:居之無倦,行之以忠。 〇居之,指居位,在职。行之,指执行政令。言为政之道,居其位当无得...

  • css 总结笔记|居中篇

    最近在做一些非常基础的知识梳理,算是温习基础。这篇基本翻译自css秘密花园居中。因为我觉得这篇真的写的非常非常好了...

  • “石藤”赋 红雨作

    “石藤”赋 红雨作 古来文人之居者,或居市、或居乡、或居山。居山者得自然之性灵,而其心时有离索之困;居乡者沐炊烟霜...

  • webpack 之 css module

    webpack 之 css module webpack配置css-loader?modulesmodules ...

  • “石藤斋”砚边随笔

    “石藤斋”砚边随笔(一) “石藤”赋 古来文人之居者,或居市、或居乡、或居山。居山者得自然之性灵,而其心时有离索之...

  • 一些基础的前端面试题

    块级,行内,空元素如何表示 css盒子模型是什么 javascript的基础数据类型有哪些 用css如何实现垂直居...

  • PHP从入门到精通,028第三章CSS之DIV+CSS标准化布局

    四、DIV+CSS标准化布局 (六)、DIV+CSS布局设计 元素居中,块元素和行内元素 块元素:需要指定宽度,居...

网友评论

    本文标题:[CSS]之居中篇

    本文链接:https://www.haomeiwen.com/subject/rnetgqtx.html