【问题标题】:Problem with side scroller href with CSS and htmlCSS和html的侧滚动条href问题
【发布时间】:2021-12-22 21:52:52
【问题描述】:

我一直在练习使用 HTML 和 CSS 制作网站的代码,并且我想到了一个可以横向滚动的菜单。您可能已经看过它们,除了href 标签,我什么都记下来了。单击字母后,它应该跳转到某个“菜单项”。点击a,你去b,b去c,c回到a。问题是它只工作一次,之后就停止跳跃了。所以我可以按a,它会转到b,然后当我按b转到c时停止工作。请帮忙,谢谢。

.portfolioWrapper .portScroller {
  overflow: auto;
  white-space: nowrap;
  height: 100%;
}

.portfolioWrapper .portScroller li.a {
  width: 100%;
  background-color: blue;
  display: inline-block;
  text-align: center;
}

.portfolioWrapper .portScroller li.b {
  width: 100%;
  background-color: red;
  display: inline-block;
  text-align: center;
}

.portfolioWrapper .portScroller li.c {
  width: 100%;
  background-color: green;
  display: inline-block;
  text-align: center;
}

li.a a.oneAnch {
  text-align: right;
}

li.a a.twoAnch {
  text-align: right;
}

li.a a.threeAnch {
  text-align: right;
}
<div class="portfolioWrapper">
  <a id="portAnchor"></a>
  <div class="portScroller">
    <li class="a"><a href="#prj2" class="one">a</a></li>
    <a id="prj1" class="oneAnch"></a>
    <li class="b"><a href="#prj3" class="two">b</a></li>
    <a id="prj2" class="twoAnch"></a>
    <li class="c"><a href="#prj1" class="three">c</a></li>
    <a id="prj3" class="threeAnch"></a>
  </div>
</div>

【问题讨论】:

  • 如果我按上面 sn-p 中的数字 .. A 转到 B .. B 转到 C .. 似乎按预期工作?
  • 当他最后按c时,它转到b而不是a。
  • @Zak 它适用于 Stack Overflow IDE,但不适用于我的全部代码。为了使它工作,你必须向上滚动一点,然后按标签,否则,它不起作用。查看hetyug04.github.io/hetyug04/newPortfolio/index.html
  • @SercanSebetçi 即使在我实现了您的代码之后,问题仍然存在。它只是我实际网站实施中的一个问题。您必须向上滚动一点才能更改选项卡。查看hetyug04.github.io/hetyug04/newPortfolio/index.html

标签: html css


【解决方案1】:

您可以通过定义一个&lt;a&gt; 元素来在列表之前显示起始位置来避免这个问题。

/* The following styles have been added. */
a {
  color: white;
  text-decoration: none;
}

.portfolioWrapper .portScroller {
  overflow: auto;
  white-space: nowrap;
  height: 100%;
}

.portfolioWrapper .portScroller li.a {
  width: 100%;
  background-color: blue;
  display: inline-block;
  text-align: center;
}

.portfolioWrapper .portScroller li.b {
  width: 100%;
  background-color: red;
  display: inline-block;
  text-align: center;
}

.portfolioWrapper .portScroller li.c {
  width: 100%;
  background-color: green;
  display: inline-block;
  text-align: center;
}

li.a a.oneAnch {
  text-align: right;
}

li.a a.twoAnch {
  text-align: right;
}

li.a a.threeAnch {
  text-align: right;
}
<div class="portfolioWrapper">
    <a id="portAnchor"></a>

    <div class="portScroller"> 
        <!-- The following line has been added. -->
        <a id="start" class="oneAnch"></a>

        <li class="a">
            <a href="#prj2" class="one">First</a>
        </li>
        <a id="prj1" class="oneAnch"></a>

        <li class="b">
            <a href="#prj3" class="two">Second</a>
        </li>
        <a id="prj2" class="twoAnch"></a>

        <li class="c">
            <!-- The line below has been updated. -->
            <a href="#start" class="three">Thirth</a>
        </li>
        <a id="prj3" class="threeAnch"></a>

    </div>
</div>

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 2012-08-05
  • 2011-02-19
  • 2020-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多