gpt4 book ai didi

html - 固定 div 仅在一页上不占用全宽

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:13 25 4
gpt4 key购买 nike

更新:页面 URL 是 https://nuclearterrortoday.org/test/pledge.php - 如果您在移动设备上进行检查,您会注意到导航栏没有占据页面的整个宽度,尽管检查员说宽度是 100vw

样式表(按级联顺序 - 某些元素可能会在 forms.css 中被覆盖):

https://nuclearterrortoday.org/test/style.css

https://nuclearterrortoday.org/test/forms.css

我有一个带有导航栏的网站,该导航栏是整个网站的标准配置。在一个页面上,导航栏只覆盖了大约 90% 的屏幕宽度,在右侧留下了一个空隙。有一个额外的样式表为受影响的页面设置样式,但不会影响任何导航元素或页面本身(即更改正文的宽度)。重置 HTML、正文、topnav 和 .pledge-bg(自定义正文类)无效。

也就是说,当使用js改变.topnav的子元素显示为移动菜单时,.topnav的宽度会按预期更改为屏幕的宽度。

在每隔一个页面上,.topnav 占据屏幕宽度的 100%。包含 header 的 HTML 结构是相同的。

CSS:

/*left:0 and right: 0 per @Magnus Eriksson*/

var myLinks = document.getElementById("myLinks");
if (myLinks.style.display !== "block") {
myLinks.style.display = "block";
} else if (myLinks.style.display == "block") {
myLinks.style.display = "none";
}
html {
left: 0;
right: 0;
width: 100%;
width: 100vw;
}

body {
left: 0;
right: 0;
width: 100%;
width: 100vw;
}

.topnav {
left: 0;
right: 0;
position: fixed;
top: 0;
width: 100%;
width: 100vw;
height: 10%;
height: 10vh;
background-color: rgba(169, 169, 169, 0.75);
color: white;
font-size: 5rem;
padding-bottom: 0;
margin-bottom: 0;
overflow: hidden;
}

#topnav {
left: 0;
right: 0;
width: 100%;
width: 100vw;
}

.topnav #myLinks {
left: 0;
right: 0;
z-index: 999;
display: none;
height: 100%;
height: 100vh;
width: 100%;
width: 100vw;
z-index: 11;
background-color: rgba(148, 181, 201, 0.9);
color: white;
}

.pledge-bg {
left: 0;
right: 0;
background: url(img/ocean-nuke.jpg) no-repeat center center fixed;
background-color: rgba(0, 0, 0, 0.5);
z-index: 0;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
width: 100%;
width: 100vw;
}
<script src="https://nuclearterrortoday.org/test/swap.js"></script>

<body>
<!-- <?php include "../../inc/header.php" ?>

-->

<!-- Top Navigation Menu (header.php:)-->
<div class="topnav" id="topnav">
<div id="myLinks">
menu
</div>
</div>
<div class="main">
<div class="main-header">
<h1 id="vision">Miracles Have Been Created in The Past</h1>
<p id="main1">10/10/1963 - We no longer test nukes in the ocean or atmosphere!</p>
<img onclick="animateSlide('left')" class="control" id="lControl" src="img/leftArrow.png">
<img onclick="animateSlide('right') " class="control" id="rControl" src="img/rightArrow.png">
</div>
</div>
</body>

最佳答案

不要在#topnav 上使用width: 100vw,只需使用width: 100%。此外,如果您为一个属性定义两个值,最后一个将覆盖第一个,所以不要这样做。

.topnav 中删除 width: 100vwwidth: 100% 因为 id topnav 已经优先于类 topnav 所以宽度应用.topnav 永远不会应用。

另外,移除正文中的所有样式。 left 和 right 不适用于 body 标签,因为它的位置是静态的。此外,默认情况下,正文采用 100% 宽度,您只需要删除浏览器在 body 标签上应用的默认边距:

body {
margin: 0;
}

此外,从 HTML 标签中删除所有样式,原因与我在上面提到的 body 标签相同。

关于html - 固定 div 仅在一页上不占用全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com