CSS 居中位于内部元素的左上角
CSS Centering is by top left of inner element
我正在尝试使用 CSS 使内部元素居中,但出于某种原因,内部元素基于左上角而不是其中心居中:http://codepen.io/anon/pen/WvxeEo
HTML:
<div class="topic">
<span class="title-box">hello!</span>
</div>
CSS:
.topic {
background-color: #84BACE;
border: 1px solid #e8e8e8;
width:500px;
height:500px;
position: relative;
}
.title-box {
background-color: #000;
color: #fff;
font-size: 60px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);"
}
有没有办法设置它使其正确居中?内部元素将是未知的 width/height,因为它是动态文本。
谢谢!
试试这个 — http://codepen.io/sergdenisov/pen/ZGOzrr:
.topic {
background-color: #84BACE;
border: 1px solid #e8e8e8;
width:500px;
height:500px;
position: relative;
}
.title-box {
background-color: #000;
color: #fff;
font-size: 60px;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
I made one simple change to your code here.
我希望这就是你要问的。 "hello" 以蓝色而不是页面为中心的原因是该跨度位于蓝色 div 内。我只是将跨度移到了 div.
之外
<div class="topic"></div>
<span class="title-box">hello!</span>
我正在尝试使用 CSS 使内部元素居中,但出于某种原因,内部元素基于左上角而不是其中心居中:http://codepen.io/anon/pen/WvxeEo
HTML:
<div class="topic">
<span class="title-box">hello!</span>
</div>
CSS:
.topic {
background-color: #84BACE;
border: 1px solid #e8e8e8;
width:500px;
height:500px;
position: relative;
}
.title-box {
background-color: #000;
color: #fff;
font-size: 60px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);"
}
有没有办法设置它使其正确居中?内部元素将是未知的 width/height,因为它是动态文本。
谢谢!
试试这个 — http://codepen.io/sergdenisov/pen/ZGOzrr:
.topic {
background-color: #84BACE;
border: 1px solid #e8e8e8;
width:500px;
height:500px;
position: relative;
}
.title-box {
background-color: #000;
color: #fff;
font-size: 60px;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
I made one simple change to your code here. 我希望这就是你要问的。 "hello" 以蓝色而不是页面为中心的原因是该跨度位于蓝色 div 内。我只是将跨度移到了 div.
之外<div class="topic"></div>
<span class="title-box">hello!</span>