css - margin-top 位置的过渡导致窗口滚动

标签 css scroll css-transitions

我创建了一个标签动画。这是我的代码笔的链接:http://codepen.io/MartinGonzal/pen/mPeMOd (请忽略其他错误)

黄色标签 中的转换几乎按我想要的方式工作,我对它们有一个问题。当我有一个较小的窗口时,我必须滚动到页面底部才能看到选项卡,当我单击一个选项卡将其打开时,页面会向上滚动。我怎样才能阻止它向上滚动?

这是我的代码:

<div id="tabs_wrapper">
    <div id="all_tabs">      
        <div class="tab_container" id="tab1">
            <div class="tab_area"><a href="#" class="tab">Tab 1</a></div>
            <div class="tab_content" id="tab1_content">
                <p>This is the content of tab 1</p>
            </div>
        </div>
    </div>
</div>


.tab_container {
  /* box-sizing: border-box;
  width: 150px;
  min-height: 176px;
  position: absolute;
  top: -50px;
  transition: margin-top ease 1s; */
  box-sizing: border-box;
  width: 150px;
  min-height: 176px;
  position: absolute;
  top: -50px;
  transition: top ease 1s;
}
/*test*/
.open_yellow_tab {
  top: -176px;
}

谢谢。

最佳答案

这是由于 # 在你的 href 里面.而是使用 javascript:void(0)在你的href<a> .

使用:

<div class="tab_area"><a href="javascript:void(0)" class="tab">Tab 1</a></div>

代替:

<div class="tab_area"><a href="#" class="tab">Tab 1</a></div>

希望这对您有所帮助!

关于css - margin-top 位置的过渡导致窗口滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40679478/

相关文章:

javascript - 判断已经滚动到底部的d​​iv的id

javascript - 尝试使用 JavaScript 触发 CSS 转换

CSS3 动画高度到动态量

jquery-ui - 动画 jQuery UI 可排序使用 CSS3 转换

html - 并排对齐两个 HTML 对象

javascript - 更改事件不适用于多个选择输入

javascript - 在 JQuery 文件中获取 WordPress 帖子 ID

c# - 文本框中的中间按钮滚动的东西

css - 使用媒体查询景观

jquery - 图像未正确调整大小 - JQuery Backstretch