整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Web前端:CSS 轻松搞定标签(元素)居中问题

者:蔷薇Nina

原文:https://www.cnblogs.com/wcwnina/p/11297630.html

在CSS里,标签位置居中一直是困扰Web前端的难题。在本文中,我对这类问题进行了探究和给出了几点建议,供读者参考。

1 行内标签

1.1 水平居中

在父级标签中使用 text-align: center

效果:

1.2 垂直居中

如果是单行,则为该标签设置行高line-height)且与其父级标签 height 相等即可。

效果:

如果是多行,稍微有点麻烦,需要在该标签设置 display: table-cell vertical-align: middle,在其父级标签设置 display: table

效果:

2 块标签

2.1 水平居中

方法一:在父级标签中使用 flex 弹性盒子。

效果:

方法二:在该标签中使用 margin 属性。

效果:

2.2 垂直居中

在父级标签中使用 flex 弹性盒子。

效果:

总结:对于行内标签居中,优先考虑文本对齐(text-align)和显示单元格(table-cell);对于块标签居中,优先考虑显示弹性盒子(flex)。

在网页中将 HTML 元素水平居中,可以使用 CSS 中的 margin: 0 auto; 属性。以下是一种常用的实现方法:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Horizontal Centering</title>

<style>

.center {

width: 300px; /* 设置元素宽度 */

margin: 0 auto; /* 水平居中 */

background-color: lightblue;

padding: 20px;

}

</style>

</head>

<body>

<div class="center">

<p>This element is horizontally centered.</p>

</div>

</body>

</html>

在上面的示例中, center 类的元素使用了 width: 300px; 来设置宽度,然后通过 margin: 0 auto; 来实现水平居中。这样,无论屏幕宽度如何变化,元素都会始终水平居中显示。

您也可以将此样式应用到任何 HTML 元素(例如 div 、 span 、 p 等),以实现水平居中效果。

iv中的内容居中显示,包括水平和垂直2个方向。

<html>
<head>
    <style type="text/css">
        .box{
            height:400px;
            width:600px;
            background-color: #f2dede;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: center;
        }
    </style>
</head>
<body>
<div class="box">
    <div style="background-color: #00a4e6">居中</div>
    <div style="background-color: #00b33c">居中</div>
</div>
</body>
</html>

说明:

align-items:center,控制垂直方向

justify-content:center,控制水平方向

弹性布局介绍:

Flex 弹性盒子布局是很强大的布局,它可以很方便的控制元素在垂直和水平方向上的行为。

使用display:flex

主轴和交叉轴

容器存在两个轴,水平叫主轴(Main-Axis),垂直叫交叉轴(Cross-Axis)。主轴左边是开始位置(main start)右边是结束位置(main end),交叉轴上是开始位置(cross start)下是结束位置(cross end)。用 justify 属性控制主轴项目的空隙,使用 align 属性控制交叉轴项目之间的垂直行为。

容器一共有 6 个属性:

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

#记录我的2024#