gpt4 book ai didi

html - 如何在不影响中心对齐的情况下对 div 应用填充?

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:22 25 4
gpt4 key购买 nike

非常简单的测试用例:

<!DOCTYPE html>
<html>
<head>
<title>Weird Centering Demo</title>
<style type='text/css'>
body
{
margin: 0px;
}

.test1
{
width: 100%;
padding: 100px;
text-align: center;
background-color: #acf;
}

.test2
{
width: 100%;
padding: 10px;
text-align: center;
background-color: #aaf;
}
</style>
</head>
<body>
<div class='test1'>Test 1</div>
<div class='test2'>Test 2</div>
</body>
</html>

上面页面中的两个 div 都应该将它们包含的文本居中。但是,以某种方式增加测试 1 的填充会将其文本向右移动。在 chrome 开发人员工具中检查时,100px 填充似乎适用于左侧而不是右侧。我在理解这种不对称行为时遇到了麻烦,并且在尝试分别设置 padding-left 和 padding-right 时也没有任何运气。

在不更改居中文本对齐方式的情况下应用填充的惯用方法是什么?

最佳答案

向左侧和/或右侧添加填充会增加包含您的 div 的 block 框的宽度。

如果将宽度设置为 100%,则计算出的宽度将比页面宽并导致和溢出条件。

如果内容溢出,则不会居中,而是左对齐。

您可以通过添加属性 box-sizing: border-box 来解决这个问题它将包含 block 框边缘内的填充。

但是,最佳解决方案在一定程度上取决于您的设计细节。

您可以在以下位置阅读有关框大小调整的更多信息:http://www.w3.org/TR/css3-ui/#box-sizing

body {
margin: 0px;
}
.test1 {
width: 100%;
padding: 100px;
text-align: center;
background-color: #acf;
box-sizing: border-box;
}
.test2 {
width: 100%;
padding: 10px;
text-align: center;
background-color: #aaf;
box-sizing: border-box;
}
<div class='test1'>Test 1</div>
<div class='test2'>Test 2</div>

关于html - 如何在不影响中心对齐的情况下对 div 应用填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26132889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com