为什么在一个简单的 HTML 站点中,不同页面的横幅图片大小不同?
Why is banner image in a simple HTML site different sizes of different pages?
这个简单的 HTML 网站有 9 个页面,多年来一直用作多个网站的模板。它不是为此目的而建造的,但这就是我正在处理的。整个网站需要大修,没有响应等等。如果你仔细观察代码,页面和横幅图像的宽度属性存在多个矛盾。有一个长期的计划来建造一个新的。在短期内,它给我带来了一个我一直无法解决的恼人的怪癖。
横幅图片可根据需要在桌面网站和 android 上显示。在 iPhone 和 iPad 上,横幅显示在 9 页中的 7 页上。在其中两页上,图像超出了屏幕边缘。相同的规则适用于各个页面上的每个图像,HTML 看起来是相同的。这些照片都是相同的尺寸和分辨率。
为什么两个页面会不同?我知道代码中有错误,但不会对每个图像都应用相同的错误吗?我没有在代码中看到任何会影响一个页面与其他页面不同的内容。
我已经尝试了宽度、最大宽度、自动、百分比大小、像素大小和视图屏幕大小的所有变体。 None 创造了统一性。前两页的图像总是与以下 7 页不同。我还 运行 通过验证器的代码,每个页面上都有完全相同的错误 none,其中与图像大小有关。
<!DOCTYPE html>
<html class="no-js"><!-- InstanceBegin template="/Templates/oneclub_17.dwt" codeOutsideHTMLIsLocked="false" -->
<script src="https://use.typekit.net/doa5ucf.js"></script>
<script>try[{Typekit.load({ async: true });}catch(e){}</script>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!-- InstanceBeginEditable name="doctitle" -->
<title>BOKF ONE Club 2017-Welcome</title>
<!-- InstanceEndEditable -->
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/main.css">
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
<!-- InstanceParam name="Banner Image" type="URL" value="Images/banner_bokf_hmb17_welcome.jpg" -->
</head>
<body>
<div id="header">
<div id="header-top">
<div class="container">
<div class="header-content">
<div id="nav">
<ul>
<li><a href="index.html">WELCOME</a></li>
<li><a href="destination.html">DESTINATION</a></li>
<li><a href="hotel.html">HOTEL</a></li>
<li><a href="agenda.html">AGENDA</a></li>
<li><a href="activities.html">ACTIVITIES</a></li>
<li><a href="climate.html">CLIMATE</a></li>
<li><a href="questions.html">Q&A</a></li>
<li><a href="contact.html">CONTACT US</a></li>
<li><a href="register.html">REGISTER</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="banner-container">
<img src="Images/banner_bokf_hmb17_welcome.jpg" width="1460"> </div>
<div class="container">
<div id="photo-caption"><!-- InstanceBeginEditable name="Caption" -->Ritz-Carlton Half Moon Bay<!-- InstanceEndEditable --></div>
<div id="main-container">
<div id="content"><!-- InstanceBeginEditable name="Body" -->
<h1>Welcome</h1>
<p>Only 30 minutes south of San Francisco is a dramatic stretch of California coastline. Here, craggy and windswept bluffs tumble onto shores pounded by endless surf to postcard-worthy perfection. This is Half Moon Bay where we will celebrate our elite’s 2016 achievements as ONE Club, March 30–April 2, 2017.</p>
<!-- InstanceEndEditable --></div>
</div>
<div id="footer">
<p>Copyright © Wyndham Jade, LLC. All rights reserved.</p>
</div>
</div>
<script defer src="js/main.js"></script>
</body>
.container{
width: 1280px;
position: relative;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
padding-top: 0px;
padding-right: 25px;
padding-bottom: 0;
padding-left: 25px;
}
#header{
background-color: white;
height: auto;
}
#header-top{
position: fixed;
top: 0;
width: 100%;
background-color: #FFFFFF;
height: 50px;
line-height: 50px;
z-index: 2;
}
#header-top .container{
padding: 0;
}
.header-content{
text-transform:uppercase;
color: #ffffff;
font-size:12px;
}
#nav {
position: relative;
height: 50px;
background-image: url(../Images/oneclub_weblogo_2017.jpg);
background-repeat: no-repeat;
background-position: left center;
padding-top: 0px;
}
#nav ul {
position: absolute;
right: 0;
margin:0;
padding:0;
list-style:none;
line-height: 12px;
margin-top: 27px;
}
#nav li {
margin:0;
padding:0;
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
#home-banner {
text-align: center;
}
.banner-container{
height: 480px;
margin-top: 50px;
position: relative;
background-color: #FFF;
}
.banner-container img {
display: block;
width: 1460px;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 480px;
}
.banner-container img land {
display: block;
width: 1460px;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 480px;
}
#main-container {
width: 1280px;
}
我注意到几件事。首先,您应该删除 <img src="Images/banner_bokf_hmb17_welcome.jpg" width="1460">
上的宽度限制,因为它是在 CSS 中处理的。此外,在 CSS 中,.banner-container img land
未在任何地方定义,可能会导致您看不到的错误。
您是否也尝试过在任何浏览器中使用您可用的开发人员选项(使用 F12 激活)。此外,对于不起作用的页面,可能有一个旧的缓存 CSS 文件正在混淆结果。您还需要在 iOS 上 clear the cached data for the pages giving you trouble。这应该重新获取最新的 CSS 值,并希望以正确的方式显示。
不过,我很欣赏 9 页中的 7 页有效#startrek
就未来的工作而言...我建议使用 Bootstrap CSS or something similar...
如果能够比较两个在垃圾箱中显示不同的页面或 fiddle。
我在代码和 CSS 示例中注意到的一些可能会扰乱宽度的地方。
- 固定宽度的嵌套元素
- 使用 display:block
时在嵌套的固定宽度元素上设置了填充
- header 中的链接向右溢出,导致水平滚动
为了帮助您获得更一致的结果,请尝试使用可变宽度并使用 max-width 样式 属性。在固定宽度元素中包含填充时,使用 box sizing 以避免不必要的水平滚动问题。框尺寸可能会直接解决您的问题。
Here is a jsbin with close to your original markup and CSS
Same page with variable width (width: 100%) and max-width set.
还删除了几个嵌套元素的填充 left/right,并减小了 header 容器的宽度以防止溢出。
#header-top {
position: fixed;
top: 0;
width: 98%;
}
这个简单的 HTML 网站有 9 个页面,多年来一直用作多个网站的模板。它不是为此目的而建造的,但这就是我正在处理的。整个网站需要大修,没有响应等等。如果你仔细观察代码,页面和横幅图像的宽度属性存在多个矛盾。有一个长期的计划来建造一个新的。在短期内,它给我带来了一个我一直无法解决的恼人的怪癖。
横幅图片可根据需要在桌面网站和 android 上显示。在 iPhone 和 iPad 上,横幅显示在 9 页中的 7 页上。在其中两页上,图像超出了屏幕边缘。相同的规则适用于各个页面上的每个图像,HTML 看起来是相同的。这些照片都是相同的尺寸和分辨率。
为什么两个页面会不同?我知道代码中有错误,但不会对每个图像都应用相同的错误吗?我没有在代码中看到任何会影响一个页面与其他页面不同的内容。
我已经尝试了宽度、最大宽度、自动、百分比大小、像素大小和视图屏幕大小的所有变体。 None 创造了统一性。前两页的图像总是与以下 7 页不同。我还 运行 通过验证器的代码,每个页面上都有完全相同的错误 none,其中与图像大小有关。
<!DOCTYPE html>
<html class="no-js"><!-- InstanceBegin template="/Templates/oneclub_17.dwt" codeOutsideHTMLIsLocked="false" -->
<script src="https://use.typekit.net/doa5ucf.js"></script>
<script>try[{Typekit.load({ async: true });}catch(e){}</script>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!-- InstanceBeginEditable name="doctitle" -->
<title>BOKF ONE Club 2017-Welcome</title>
<!-- InstanceEndEditable -->
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/main.css">
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
<!-- InstanceParam name="Banner Image" type="URL" value="Images/banner_bokf_hmb17_welcome.jpg" -->
</head>
<body>
<div id="header">
<div id="header-top">
<div class="container">
<div class="header-content">
<div id="nav">
<ul>
<li><a href="index.html">WELCOME</a></li>
<li><a href="destination.html">DESTINATION</a></li>
<li><a href="hotel.html">HOTEL</a></li>
<li><a href="agenda.html">AGENDA</a></li>
<li><a href="activities.html">ACTIVITIES</a></li>
<li><a href="climate.html">CLIMATE</a></li>
<li><a href="questions.html">Q&A</a></li>
<li><a href="contact.html">CONTACT US</a></li>
<li><a href="register.html">REGISTER</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="banner-container">
<img src="Images/banner_bokf_hmb17_welcome.jpg" width="1460"> </div>
<div class="container">
<div id="photo-caption"><!-- InstanceBeginEditable name="Caption" -->Ritz-Carlton Half Moon Bay<!-- InstanceEndEditable --></div>
<div id="main-container">
<div id="content"><!-- InstanceBeginEditable name="Body" -->
<h1>Welcome</h1>
<p>Only 30 minutes south of San Francisco is a dramatic stretch of California coastline. Here, craggy and windswept bluffs tumble onto shores pounded by endless surf to postcard-worthy perfection. This is Half Moon Bay where we will celebrate our elite’s 2016 achievements as ONE Club, March 30–April 2, 2017.</p>
<!-- InstanceEndEditable --></div>
</div>
<div id="footer">
<p>Copyright © Wyndham Jade, LLC. All rights reserved.</p>
</div>
</div>
<script defer src="js/main.js"></script>
</body>
.container{
width: 1280px;
position: relative;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
padding-top: 0px;
padding-right: 25px;
padding-bottom: 0;
padding-left: 25px;
}
#header{
background-color: white;
height: auto;
}
#header-top{
position: fixed;
top: 0;
width: 100%;
background-color: #FFFFFF;
height: 50px;
line-height: 50px;
z-index: 2;
}
#header-top .container{
padding: 0;
}
.header-content{
text-transform:uppercase;
color: #ffffff;
font-size:12px;
}
#nav {
position: relative;
height: 50px;
background-image: url(../Images/oneclub_weblogo_2017.jpg);
background-repeat: no-repeat;
background-position: left center;
padding-top: 0px;
}
#nav ul {
position: absolute;
right: 0;
margin:0;
padding:0;
list-style:none;
line-height: 12px;
margin-top: 27px;
}
#nav li {
margin:0;
padding:0;
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
#home-banner {
text-align: center;
}
.banner-container{
height: 480px;
margin-top: 50px;
position: relative;
background-color: #FFF;
}
.banner-container img {
display: block;
width: 1460px;
margin-top: 0px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 480px;
}
.banner-container img land {
display: block;
width: 1460px;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
height: 480px;
}
#main-container {
width: 1280px;
}
我注意到几件事。首先,您应该删除 <img src="Images/banner_bokf_hmb17_welcome.jpg" width="1460">
上的宽度限制,因为它是在 CSS 中处理的。此外,在 CSS 中,.banner-container img land
未在任何地方定义,可能会导致您看不到的错误。
您是否也尝试过在任何浏览器中使用您可用的开发人员选项(使用 F12 激活)。此外,对于不起作用的页面,可能有一个旧的缓存 CSS 文件正在混淆结果。您还需要在 iOS 上 clear the cached data for the pages giving you trouble。这应该重新获取最新的 CSS 值,并希望以正确的方式显示。
不过,我很欣赏 9 页中的 7 页有效#startrek
就未来的工作而言...我建议使用 Bootstrap CSS or something similar...
如果能够比较两个在垃圾箱中显示不同的页面或 fiddle。
我在代码和 CSS 示例中注意到的一些可能会扰乱宽度的地方。
- 固定宽度的嵌套元素
- 使用 display:block 时在嵌套的固定宽度元素上设置了填充
- header 中的链接向右溢出,导致水平滚动
为了帮助您获得更一致的结果,请尝试使用可变宽度并使用 max-width 样式 属性。在固定宽度元素中包含填充时,使用 box sizing 以避免不必要的水平滚动问题。框尺寸可能会直接解决您的问题。
Here is a jsbin with close to your original markup and CSS
Same page with variable width (width: 100%) and max-width set. 还删除了几个嵌套元素的填充 left/right,并减小了 header 容器的宽度以防止溢出。
#header-top {
position: fixed;
top: 0;
width: 98%;
}