gpt4 book ai didi

html - 如何通过媒体查询消除调整窗口大小时不需要的水平滚动条?

转载 作者:行者123 更新时间:2023-11-27 23:31:38 24 4
gpt4 key购买 nike

我对这段代码有疑问,问题是在 1200px 之前一切正常,但在调整到 1200px 之后(在滚动条宽度之前,例如 chrome 滚动条宽度为 17px)在 1218px 之前,我们将看到不需要的水平滚动条让我们很烦。

我想解决这个问题,但我不知道怎么做。有人知道怎么做吗?所以请指导我。

我的代码和在线测试的链接:
https://codepen.io/mostafaeslami7/pen/xZePXq?editors=1100


我的 html:

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>

<div class="header">
<div class="inner-header">header</div>
</div>

<div class="body">body</div>

<div class="footer">
<div class="inner-footer">footer</div>
</div>

</body>
</html>

我的CSS:

*{
box-sizing: border-box;
margin: 0;
padding: 0;
color: white;
font-size: 30px;
text-align: center;
}

body{
background-color: orange;
}

.header{
border-bottom: 1px solid black;
}

.inner-header{
background-color: black;
}

.body{
height: 3000px;
background-color: blue;
}

.footer{
border-top: 1px solid black;
}

.inner-footer{
background-color: green;
}

.header,
.footer{
width: 100%;
height: 100px;
}

.inner-header,
.inner-footer{
height: 100%;
}

.inner-header,
.body,
.inner-footer{
width: 1000px;
margin: 0 auto;
}

@media screen and (min-width: 1200px){
.inner-header,
.body,
.inner-footer{
width: 1200px;
}
}

最佳答案

我知道这是一个老问题。但我想分享这个,希望有人会发现它有用并且会节省一些人的时间。

所以,没有快速的方法,您将不得不进行一些挖掘并找到导致溢出的元素。因此,在你的屁股上产生不需要的水平滚动和疼痛。通常一种方法是只写

body {
overflow-x: hidden;
}

并希望 body 上的 overflow-x 将删除水平滚动条,但有时您必须将 overflow:hidden 应用于网站的主容器。这可能一直或大多数时候都有效。喜欢,

.main_container {
overflow: hidden;
}

有一些技巧可以帮助您找到那些溢出元素,例如使用下面的 JavaScript 脚本,只需打开控制台并在那里执行即可

var docWidth = document.documentElement.offsetWidth;

[].forEach.call(
document.querySelectorAll('*'),
function(el) {
if (el.offsetWidth > docWidth) {
console.log(el);
}
}
);

或者你可以执行 jQuery 一个,

$.each( $('*'), function() { 
if( $(this).width() > $('body').width()) {
console.log("Wide Element: ", $(this), "Width: ", $(this).width());
}
});

或者您可以使用这个小的 jquery 片段。它将沿着元素宽度直接在控制台中注销元素,这可以帮助您在悬停在控制台(至少在 Chrome 中)时轻松突出显示它们。

 $.each($('*'), function() { if ($(this).width() > $('body').width()) { console.log($(this).get(0)); } }).length;

或者如果您仍然找不到该特定元素,请使用下面的技巧,

//Open inspector -> “New Style Rule”:
* {
outline: 1px solid red;
}

您可以随时添加:opacity: 1 !important; visibility: visible !important; 如果你认为你可能有一个隐藏的元素,但通常上面的工作不需要额外的努力。

希望对大家有帮助。快乐挖掘。

关于html - 如何通过媒体查询消除调整窗口大小时不需要的水平滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35461851/

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