我想把文字放在" p"进入我的" div"的中心。我的HTML是这样的:
<div class="picture">
<img src="/sites/default/files/default_images/colorful-triangles-background_yB0qTG6.jpg" width="1080" height="1920" alt="background to view" typeof="foaf:Image">
</div>
<p class="textik"">Hello handsome.</p>
但是我无法更改html标签。我只能使用CSS。有没有办法做到这一点?我尝试了一些方法,但似乎都没有。
答案 0 :(得分:4)
在不更改HTML的情况下执行此操作的唯一方法是人工将p标签对齐div标签上方。
p.textik {
margin-top: -5px;
}
根据需要进行调整,并测试移动设备。
如果您不希望下面的元素向上移动,您可以使用padding-bottom来防止这种情况发生。
p.textik {
padding-bottom: 5px;
}
答案 1 :(得分:1)
我假设您确实希望p
标记显示在图片的中心,因此您可以将其absolute
定位并使用css转换它的位置。通过使用absolute
定位和转换位置,如果图像/外部元素的大小发生变化,则无需重新定位。类似的东西:
<div class='someOuterElement'>
<div class="picture">
<img src="http://placehold.it/500/500" width="500" height="500" >
</div>
<p class='textik'>Hello handsome.</p>
</div>
并将其设为:
.someOuterElement {
position: relative;
width: 500px
}
.textik {
text-align; center;
position: absolute;
top:50%;
left: 50%;
transform: translate(-50%, -50%)
}
有关css transform here
的更多信息