【css】居中方案

作者: z_yyy | 来源:发表于2018-10-19 18:25 被阅读6次

前言:根据最近学习的课程,简单总结一下学习到的css左右布局以及居中方案。后期学习深入之后再回来进行css居中的完整总结。

左右布局/左中右布局

给所有子元素添加 float: left,给父元素加 clearfix 类,清除浮动
html:

<div class="clearfix">
  <div class="children">元素1</div>
  <div class="children">元素2</div>
  <div class="children">元素3</div>
</div>

css:

.children{
  float: left;
}
.clearfix::after {
    display: block;
    content: '';
    clear: both;
}

水平居中

内联元素水平居中

将内联元素外部的块级元素的text-align设置为center,即可实现内联元素(inlineinline-block)的水平居中。

<div>
  <span>居中</span>
</div>
<style>
div{
  border: 2px dashed orange;
  text-align: center;
  height: 50px;
}
</style>

演示

块级元素水平居中

将固定宽度的块级元素的margin-leftmargin-right设置为auto,即可实现块级元素的水平居中。

<div>
  <div class="center">居中</div>
</div>
<style>
div{
  border: 2px dashed orange;
  text-align: center;
  height: 50px;
}
.center{
  background: orange;
  height: 30px;
  width: 60px;
  margin: 0 auto;
}
</style>

演示

多个块级元素水平居中

将每个块级元素的display设置为inline-block,然后将它们的父容器的text-align设置为center,即可使多个块级元素水平居中。

<div class="parent">
  <div class="child">块级元素1</div>
  <div class="child">块级元素2</div>
  <div class="child">块级元素3</div>
  <div class="child">块级元素4</div>
</div>
<style>
.child{
  display: inline-block;
}
.parent{
  border: 2px dashed orange;
  text-align: center;
  height: 60px;
}
</style>

演示

垂直居中

内联元素垂直居中

设置内联元素的行高(line-heigt)和内联元素的父元素的高度(height)相等,且内联元素的字体大小远小于行高,即可使内联元素垂直居中。

<div class="parent">
  <span>垂直居中</span>
</div>
<style>
.parent{
  border: 2px dashed orange;
  height: 80px;
}
span{
  font-size: 30px;
  line-height: 80px;
}
</style>

演示

块级元素垂直居中

固定高度的块级元素

通过绝对定位元素距离顶部50%,并设置margin-top向上偏移元素高度的一半,即可实现垂直居中。

<div class="parent">
    <div class="child">固定高度垂直居中</div>
</div>
<style>
.parent {
  height: 140px;
  position: relative;
  border: 2px dashed orange;
}
.child {
  position: absolute;
  top: 50%;
  height: 100px;
  margin-top: -50px;
  background: orange;
}
</style>

演示

未知高度的块级元素

借助CSS3中的transform属性向Y轴反向偏移50%的方法实现垂直居中

<div class="parent">
    <div class="child">未知高度垂直居中</div>
</div>
<style>
.parent {
  height: 140px;
  position: relative;
  border: 2px dashed orange;
}
       
.child {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: orange;
}
</style>

演示

相关文章

  • 元素居中解决方案

    html: css:1水平居中:解决方案1: 解决方案2: 解决方案3: 2垂直居中:解决方案1: 解决方案2: ...

  • CSS 居中的各种方案

    CSS 居中的各种方案 实现居中的样式分为容器 (container) 的样式和需要居中的元素 (item) 的样...

  • css水平、垂直居中的方法

    css居中常用的几种方式 行内元素水平、垂直居中 方案一(不设置居中元素宽高),代码如下:使用display: t...

  • 垂直居中的方法

    行内元素居中 html css before元素居中 html css table-cell居中 css 垂直居中...

  • CSS图片居中(水平居中和垂直居中)

    css图片水平居中 css图片垂直居中 css图片水平垂直居中

  • 【css】居中方案

    前言:根据最近学习的课程,简单总结一下学习到的css左右布局以及居中方案。后期学习深入之后再回来进行css居中的完...

  • CSS居中方案

    简言 CSS居中是前端工程师经常要面对的问题,也是基本技能之一。今天有时间把CSS居中的方案汇编整理了一下,目前包...

  • CSS居中布局方案

    水平居中 垂直居中 水平垂直居中

  • CSS居中的方案

    CSS完全可以居中任何你想居中的东西。 水平 内联元素(inline-* elements or inline)...

  • CSS居中完全指南——构建CSS居中决策树

    CSS居中完全指南——构建CSS居中决策树 本文总结CSS居中,包括水平居中和垂直居中.本文相当于CSS决策树,下...

网友评论

    本文标题:【css】居中方案

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