如何在响应式网页中对齐图像上的文本
How to align text over an Image in a responsive webpage
这不是重复的,因为我说的是响应式网站
这是我想要的 header,我希望它能够响应。
What I want
但是,我不想将其用作图像,而是希望将图像和文本分开。这是原始图像文件
original image file
Header 图片目前可以针对响应式页面正确缩放,但是我希望文本像我的第一张图片一样放置在图片上,并根据用户使用的设备进行缩放。
我只想使用 html 和 css 来完成此操作。
HTML
<div id="header">
<img src="images/Header.jpeg" alt=""/>
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
CSS
#header img {
width: 100%;
max-width: 1024px;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
}
这个输出是否符合你的预期
检查 jsbin
中的输出
#header img {
width: 100%;
max-width: 1024px;
position: absolute;
z-index: -1;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
position: relative;
z-index: 10;
text-align:center;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
text-align:center;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="header">
<img src="https://i.stack.imgur.com/JGpzd.jpg" />
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
</body>
</html>
您可以将图像设置为 header
的背景,并在 center
中对齐文本
#header {
width: 100%;
max-width: 1024px;
background-image:url("https://i.stack.imgur.com/JGpzd.jpg");
background-size: 100% 100%;
background-repeat: no-repeat;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
}
#header h1, #header h2{
text-align:center;
}
<div id="header">
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
我也选择上面那个。使用您的图像作为背景,并将文本放在顶部
的 div 中
哦,要缩放文本,只需将字体大小设置为 vw 或 em。
然而,在我的实验中,我只是使用像素来指定字体大小,并且在你向下移动时让媒体查询中的大小发生变化。
希望对你有帮助
这不是重复的,因为我说的是响应式网站
这是我想要的 header,我希望它能够响应。 What I want
但是,我不想将其用作图像,而是希望将图像和文本分开。这是原始图像文件 original image file
Header 图片目前可以针对响应式页面正确缩放,但是我希望文本像我的第一张图片一样放置在图片上,并根据用户使用的设备进行缩放。
我只想使用 html 和 css 来完成此操作。
HTML
<div id="header">
<img src="images/Header.jpeg" alt=""/>
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
CSS
#header img {
width: 100%;
max-width: 1024px;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
}
这个输出是否符合你的预期
检查 jsbin
中的输出#header img {
width: 100%;
max-width: 1024px;
position: absolute;
z-index: -1;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
position: relative;
z-index: 10;
text-align:center;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
text-align:center;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div id="header">
<img src="https://i.stack.imgur.com/JGpzd.jpg" />
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
</body>
</html>
您可以将图像设置为 header
的背景,并在 center
#header {
width: 100%;
max-width: 1024px;
background-image:url("https://i.stack.imgur.com/JGpzd.jpg");
background-size: 100% 100%;
background-repeat: no-repeat;
}
#header h1 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 50px;
}
#header h2 {
color: #FFFFFF;
text-shadow: 3px 3px #000000;
font-size: 35px;
}
#header h1, #header h2{
text-align:center;
}
<div id="header">
<h1>Mark Osullivan</h1>
<h2>Wedding Photograpgy </h2>
</div>
我也选择上面那个。使用您的图像作为背景,并将文本放在顶部
的 div 中哦,要缩放文本,只需将字体大小设置为 vw 或 em。 然而,在我的实验中,我只是使用像素来指定字体大小,并且在你向下移动时让媒体查询中的大小发生变化。
希望对你有帮助