gpt4 book ai didi

javascript - html 溢出 x 失败

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:39 25 4
gpt4 key购买 nike

遇到一个奇怪的问题,我给div设置了样式:

overflow-x: scroll

但是结果没有溢出,只是换行开始,我的源码如下:

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>test</title>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1">
<style>
.fl {
float: left;
}
.cp-header {
height: 40px;
padding: 7px 0px;
border-bottom: 2px solid #cdcdcd;
box-sizing: border-box;
}
.cp-header span {
display: inline-block;
border-right: 2px solid #cdcdcd;
box-sizing: border-box;
text-align: center;
height: 24px;
line-height: 24px;
font-size: 14px;
}
</style>
</head>

<body>
<div style="width: 30%; box-sizing: border-box" class="fl">
<div class="cp-header" style="width:100%;">
<span style="width:100%;">name</span>
</div>
</div>

<div id="tabGrp" style="width: 70%; box-sizing: border-box;" class="fl">
<div class="cp-header" style="display: inline-block; overflow-x: scroll; white-space: nowrap;">
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
<span class="fl" style="width: 100px;">
tab
</span>
</div>
</div>
</body>

</html>

从上面可以看出,我希望“#tabGrp”中的内容可以水平滚动,因为我设置了属性overflow-x:scroll,如果子元素的宽度超过父元素的宽度,父元素应该滚动,但是它不起作用,我有什么问题吗?

最佳答案

2 件事,你的 span 不能/不需要 float ,cp-header 需要宽度

请注意,您不能混合使用内联和外部样式,所以我将其更改为外部(推荐)

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>test</title>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1">
<style>
.tabCap {
width: 30%;
box-sizing: border-box;
}
.tabGrp {
width: 70%;
box-sizing: border-box;
}
.fl {
float: left;
}
.cp-header {
display: inline-block;
white-space: nowrap;
width: 100%;
height: 60px;
padding: 7px 0px;
border-bottom: 2px solid #cdcdcd;
box-sizing: border-box;
}
.cp-header.scroll {
overflow-x: scroll;
}
.cp-header span {
display: inline-block;
width: 100%;
border-right: 2px solid #cdcdcd;
box-sizing: border-box;
text-align: center;
height: 24px;
line-height: 24px;
font-size: 14px;
}
.cp-header.scroll span {
width: 100px;
}

</style>
</head>

<body>
<div class="tabCap fl">
<div class="cp-header">
<span>name</span>
</div>
</div>

<div class="tabGrp fl">
<div class="cp-header scroll">
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
<span>tab</span>
</div>
</div>
</body>
</html>


根据评论更新。

span 之间的边距是由标记中的换行符引起的空白。这发生在所有内联元素上。

这里有一种方法可以解决这个问题,将开始和结束标记放在同一行

Updated plnkr

<span>
tab
</span><span>
tab
</span>

关于javascript - html 溢出 x 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38500150/

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