Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 带变换的绝对块居中:平移(-50%,-50%)方式_Html_Css - Fatal编程技术网

Html 带变换的绝对块居中:平移(-50%,-50%)方式

Html 带变换的绝对块居中:平移(-50%,-50%)方式,html,css,Html,Css,以下是我的例子: 正文{ 填充:50px; } div{ 宽度:240px; 高度:150像素; 边框:1px实心#ccc; 位置:相对位置; } a{ 位置:绝对位置; 最高:50%; 左:50%; 转换:翻译(-50%,-50%); } 文件 尝试添加 a { white-space: nowrap; } 它应该保持为1行 此外,您还可以摆脱所有这些定位: 只需a{lineheight:150px;}并添加text align:center至div: 正文{ 填充:50px; } d

以下是我的例子:

正文{
填充:50px;
}
div{
宽度:240px;
高度:150像素;
边框:1px实心#ccc;
位置:相对位置;
}
a{
位置:绝对位置;
最高:50%;
左:50%;
转换:翻译(-50%,-50%);
}

文件
尝试添加

a { white-space: nowrap; }
它应该保持为1行

此外,您还可以摆脱所有这些定位: 只需
a{lineheight:150px;}
并添加
text align:center至div:

正文{
填充:50px;
}
div{
宽度:240px;
高度:150像素;
边框:1px实心#ccc;
文本对齐:居中;
}
a{
线高:150px;
}

您可以使用CSS flexbox模块来实现这一点。您只需将包含元素设置为
display:flex
,并使用
align items
justify content
属性设置内容的对齐方式。本例中的
a
元素不需要任何特殊样式。这是一个很好的例子

正文{
填充:50px;
}
div{
显示器:flex;
对齐项目:居中;
证明内容:中心;
宽度:240px;
高度:150像素;
填充:1em;
边框:1px实心#ccc;
位置:相对位置;
}


<代码> > p>左:50% < /代码>使<代码> a < /C>元素只有50%个宽度,即父元素的50%,因为它从中间开始并延伸到右边界。因此,它的内容包裹在您的箱子中,因为它们无法容纳50%的宽度

我建议另一种解决方案,flexbox进行定心(实际上会减少CSS):

正文{
填充:50px;
}
div{
宽度:240px;
高度:150像素;
边框:1px实心#ccc;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}

文件