首页 > 编程知识 正文

html水平居中和垂直居中怎么设置,html怎么让盒子水平居中

时间:2023-05-03 17:55:01 阅读:185851 作者:1945

将框水平垂直居中的10种方法

HTML代码

第一个是绝对对位方式,absolute负边距

首先,知道子要素宽度的高低,子要素中top:50%; 左: 50 %,

但是,绝对的位置是基于子要素的左上角,希望子要素的中心显示在中央。 如果使用外部页边距的负值,则负外部页边距会将元素放置在相反的方向上。

通过将子元素外部的边距指定为子元素宽度一半的负值,可以使子元素居中

#container {

定位:关系;

width: 600px;

height: 500px;

border: 1px solid #000;

边距:自动;

}

#box {

定位:助手;

width: 200px;

height: 200px;

left: 50%;

top: 50%;

margin: -100px -100px;

background-color: #0ff;

}

优点:简单易懂,兼容性强

缺点:需要知道子元素的宽度和高度

第二,也是基于绝对定位的absolute margin auto

这需要所有方向的距离为0,边距为自动; 好的

优点:互换性也很好

缺点:需要知道子元素的宽度和高度

第三个是absolute calc (计算)

这种方法的top比例基于元素的左上角,所以减去一半的宽度和高度就可以了

可以使用calc ()函数计算calc:的任意长度值。

calc ) )函数使用标准数学运算优先级规则;

支持“”、“-”、“*”和“/”运算

优点:他的兼容性取决于calc的兼容性

缺点:同样需要知道子元素的宽度和高度

第四个是absolute transform (迁移)

此方法不需要子元素的固定宽度和高度

也可以使用新的css3 transform transform translate来修复绝对位置问题

属性还可以设置自己的宽度和高度的百分比,因此可以将translate设置为-50%以使其居中

#container {

定位:关系;

width: 600px;

height: 600px;

border: 1px solid #000;

边距:自动;

}

#box {

定位:关系;

top: 50%;

left: 50%;

width: 200px;

height: 200px;

transform:translate(-50%、-50%;

- WebKit-transform 3360 translate (-50 %、-50%;

- ms-transform 3360 translate (-50 %、-50%;

- moz-transform 3360 translate (-50 %、-50%;

background-color: #0ff;

}

优点:代码量少

缺点:不支持IE8。 必须为属性添加浏览器供应商前缀,这可能会干扰其他transform效果,并且在某些情况下会导致文本和元素边界的渲染不明确。

第五个:行高度

只对文本有效,对决定宽度和高度的div没有用。 所以,在将文本水平、垂直地居中时使用。

优点:代码简洁

缺点:只对文本有效,只对单行文本有效,不能有多行文本

第七种:表格式

以制表符单元格格式设置

优点: tabel单元格的内容自然垂直居中。 添加水平居中对齐属性即可

缺点:这不是table的正确方法,不太推荐,但可以实现

第八种:表小区实现水平垂直中央:表小区中间中心配套使用

直接设定为父母

#container {

显示:表单元格;

vertical-align :中间;

文本照明3360中心;

width: 240px;

height: 180px;

border:1px solid #666;

}

第九:弹性盒方式

#container {

width: 600px;

height: 600px;

border: 1px solid #000;

显示: flex

内容:中心;

align-items3360中心;

}

优点:移动端易用性

缺点: pc端需要根据兼容性进行判定

第十个:网格(网格布局)

在父母中设置display:grid;

子元素为align-self: center; justify-self:中心;

优点:代码量少

缺点:与flex相比不兼容,建议使用flex

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。