使一个div跨越两个相邻的div?

学习者

我正在尝试编写一个按钮,该按钮将垂直跨越两个div,一个在另一个之上。此按钮为圆形div的形式,内部带有向下的V形字符(使用Font Awesome)。单击此按钮可将页面向下滚动到同一页面内的预定点。此功能在许多现代单页设计中非常常见。这是我的尝试:

.aboutjumbo {
  background-color: #ffcc00;
}
.aboutjumbo p {
  font-size: 2em;
}
.downarrow {
  background-color: #ff0000;
  border-radius: 50% !important;
  z-index: 1000;
  width: 4em;
  height: 4em;
  margin-bottom: -5.5em;
}
.downarrow i {
  margin-top: 0.5em;
  font-size: 200%;
}
.test {
  height: 12em;
  background-color: #a5a5a5;
  z-index: -20;
  margin-top: -2em;
}
<head>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
</head>

<body>
  <!-- about.html -->
  <div class="jumbotron text-center top-jumbotron aboutjumbo">
    <div class="container">
      <h1>About Us</h1>
      <p>Know all about one of the most vibrant rendezvous for Spanish self-learners around the world.</p>
      <div class="downarrow text-center"><i class="fa fa-chevron-down"></i>
      </div>
    </div>
  </div>


  <div class="test">
    <p>blah blah blah blah</p>
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>

如您所见,跨越两个div时,滚动按钮(红色div圆形)无法达到预期的效果。相反,尽管分配了z-index值,但下半部分被第二个div占用了。另外,我无法将按钮水平居中。有人可以帮我解决吗?

乔什·克罗齐耶(Josh Crozier)

它不起作用,因为该z-index属性仅适用于定位的元素。

因此,您只需要添加position: relative.downarrow元素。

当然,position: absolute/position: fixed也会定位元素,但是相对定位会将元素保留在文档流中,这很可能是您想要的。

.downarrow {
    /* ... */
    z-index: 1000;
    position: relative;
    width: 4em;
    height: 4em;
    margin-bottom: -5.5em;
}

更新的示例:

.aboutjumbo {
  background-color: #ffcc00;
}
.aboutjumbo p {
  font-size: 2em;
}
.downarrow {
  background-color: #ff0000;
  border-radius: 50% !important;
  z-index: 1000;
  position: relative;
  width: 4em;
  height: 4em;
  margin-bottom: -5.5em;
}
.downarrow i {
  margin-top: 0.5em;
  font-size: 200%;
}
.test {
  height: 12em;
  background-color: #a5a5a5;
  z-index: -20;
  margin-top: -2em;
}

.jumbotron {
  position: relative;
}
.downarrow {  
  position: absolute;
  bottom: -2em;
  left: 0; right:0;
  margin: auto;
}
<head>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
</head>

<body>
  <!-- about.html -->
  <div class="jumbotron text-center top-jumbotron aboutjumbo">
    <div class="container">
      <h1>About Us</h1>
      <p>Know all about one of the most vibrant rendezvous for Spanish self-learners around the world.</p>
      <div class="downarrow text-center"><i class="fa fa-chevron-down"></i>
      </div>
    </div>
  </div>


  <div class="test">
    <p>blah blah blah blah</p>
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

让一个div垂直跨越两个div?

来自分类Dev

如何从一个div的三个div到连续相邻的两个div?

来自分类Dev

引导程序:将一个div与另外两个相邻放置

来自分类Dev

彼此相邻的两个div

来自分类Dev

如何在另外两个中间放置一个div以跨越多行,例如表中的rowpan

来自分类Dev

当第一个div位于两行中时,如何将两个div相邻放置?

来自分类Dev

jQuery中的一个div两个函数

来自分类Dev

在两个div之间放置一个图标

来自分类Dev

两个DIV和一个边框

来自分类Dev

对齐两个div,一个在顶部,一个在第三div的底部

来自分类Dev

如何将两个div彼此相邻放置?

来自分类Dev

浮动两个div,它们彼此相邻并自动缩放

来自分类Dev

CSS将两个div相邻放置

来自分类Dev

使可变宽度的两个div同时相邻并居中

来自分类Dev

两个相邻的样式 div [flexbox/responsive]

来自分类Dev

CSS - 两个相邻的 div,100% 宽度和溢出

来自分类常见问题

一个<a>标签的两个目标,并在两个不同的div中显示两个结果

来自分类Dev

两个div并排,一个居中,另一个居右

来自分类Dev

外div中两个元素并排,一个左侧,一个右侧

来自分类Dev

CSS用于文本的两个div,一个主,一个从

来自分类Dev

两个绝对div; 一个使滚动条出现;一个不

来自分类Dev

两个绝对div; 一个使滚动条出现;一个不

来自分类Dev

两个div并排,一个居中,另一个居右

来自分类Dev

外div中两个元素并排,一个左侧,一个右侧

来自分类Dev

将两个 div 一个靠近另一个

来自分类Dev

两个 div,一个紧挨着,在同一个角落

来自分类Dev

将两个div除以另一个弯曲/拱形div

来自分类Dev

如果一个DIV固定,是否可以并排对齐两个DIV?

来自分类Dev

在一个div中水平对齐两个div

Related 相关文章

  1. 1

    让一个div垂直跨越两个div?

  2. 2

    如何从一个div的三个div到连续相邻的两个div?

  3. 3

    引导程序:将一个div与另外两个相邻放置

  4. 4

    彼此相邻的两个div

  5. 5

    如何在另外两个中间放置一个div以跨越多行,例如表中的rowpan

  6. 6

    当第一个div位于两行中时,如何将两个div相邻放置?

  7. 7

    jQuery中的一个div两个函数

  8. 8

    在两个div之间放置一个图标

  9. 9

    两个DIV和一个边框

  10. 10

    对齐两个div,一个在顶部,一个在第三div的底部

  11. 11

    如何将两个div彼此相邻放置?

  12. 12

    浮动两个div,它们彼此相邻并自动缩放

  13. 13

    CSS将两个div相邻放置

  14. 14

    使可变宽度的两个div同时相邻并居中

  15. 15

    两个相邻的样式 div [flexbox/responsive]

  16. 16

    CSS - 两个相邻的 div,100% 宽度和溢出

  17. 17

    一个<a>标签的两个目标,并在两个不同的div中显示两个结果

  18. 18

    两个div并排,一个居中,另一个居右

  19. 19

    外div中两个元素并排,一个左侧,一个右侧

  20. 20

    CSS用于文本的两个div,一个主,一个从

  21. 21

    两个绝对div; 一个使滚动条出现;一个不

  22. 22

    两个绝对div; 一个使滚动条出现;一个不

  23. 23

    两个div并排,一个居中,另一个居右

  24. 24

    外div中两个元素并排,一个左侧,一个右侧

  25. 25

    将两个 div 一个靠近另一个

  26. 26

    两个 div,一个紧挨着,在同一个角落

  27. 27

    将两个div除以另一个弯曲/拱形div

  28. 28

    如果一个DIV固定,是否可以并排对齐两个DIV?

  29. 29

    在一个div中水平对齐两个div

热门标签

归档