我需要在div背景上有一个图像。在这张图片上,它必须有一个标题,副标题和一个按钮。
所有这三个元素都需要以动态位置的百分比为顶部和左边。
我做过几次尝试,但没有成功。
HTML
<div id="container">
<div id="block1">
<div id="title">LIAM</div>
<div id="subtitle">SUPER SLIM FIT</div>
<div id="link">
<a href="#"> See all jeans</a>
</div>
</div>
</div>
CSS
#block1 {
background-image: url('http://tiffosi.com/fw16/img/img1.jpg');
background-repeat: no-repeat;
background-size: contain;
width: 100%;
height: 1450px;
max-width: 1086px;
max-height: 1450px;
position: relative;
top: 0;
left: 0;
}
#block1 #subtitle {
font-size: 16pt;
color: white;
position: absolute;
top: 23.4%;
left: 43.5%;
letter-spacing: 1px;
}
#block1 #link {
width: 184px;
text-align: center;
height: 43px;
line-height: 43px;
border: 1px solid white;
font-size: 11pt;
top: 29.3%;
left: 41.3%;
position: absolute;
}
#block1 #link a {
color: white;
text-decoration: none;
font-weight: 100;
}
@media only screen and (min-width : 768px) {
#block1 #title{
top: 12%;
left:42%;
font-size:80%;
}
}
@media only screen and (min-width : 992px) {
#block1 #title {
font-size: 100%;
position: absolute;
top: 16.5%;
left: 42%;
letter-spacing: 2px;
}
}
#block1 #title {
font-size: 97px;
color: white;
position: absolute;
top: 16.5%;
left: 42%;
letter-spacing: 2px;
}
链接到jsffidle:https://jsfiddle.net/jggscada/
答案 0 :(得分:0)
而不是单独定位每个元素,我建议您将position:absolute
提供给#block1
并将其放置在图像上(图像作为#container
的背景或围绕{{1}创建另一个div div)。
我使用了#block1
- &gt; top:40vh
然后根据需要将元素放在vh=viewport height
内。
我也删除了block1
div并将样式直接添加到链接中。这种方式似乎更合乎逻辑:)。如果您希望#link
的行为与使用link
div
display:block
相同,那么我使用display:inline-block
非常重要:如果您想要有响应的内容,请不要使用固定的width
和height
。我在width:100vw
上使用了.container
,因此它具有屏幕的宽度。
请参阅下面的代码段或在此处小提琴&gt;的 Jsfiddle 强>
让我知道它是否适合你
#container {
background-image: url('http://tiffosi.com/fw16/img/img1.jpg');
background-repeat: no-repeat;
background-size: contain;
width: 100vw;
height: 1450px;
max-width: 1086px;
max-height: 1450px;
position: relative;
top: 0;
left: 0;
border: 1px solid red;
}
#block1 #title {
font-family: oswald-bold;
font-size: 60pt;
color: white;
letter-spacing: 5px;
}
#block1 #subtitle {
font-family: oswald-bold;
font-size: 16pt;
color: white;
letter-spacing: 1px;
}
#block1 a{
width: 184px;
text-align: center;
height: 43px;
line-height: 43px;
border: 1px solid white;
font-family: Oswald-Medium;
font-size: 11pt;
color: white;
text-decoration: none;
font-weight: 100;
display:inline-block;
margin-top:50px;
}
#block1 {
position:absolute;
top:40vh;
left:0;
margin:0 auto;
right:0;
text-align:center;
}
<div id="container">
<div id="block1">
<div id="title">LIAM</div>
<div id="subtitle">SUPER SLIM FIT</div>
<a href="#"> See all jeans</a>
</div>
</div>