html - 定位一个元素以便该元素不会覆盖侧边栏?

标签 html css hover position positioning

我有一个隐藏在边栏上的元素(一个对话气泡,使用 CSS 和 html 制作),当您将鼠标悬停在边栏上时它会出现。

speech bubble when sidebar hover

#sidebar .bubble {
 opacity:0.0;
 position: relative;
 background-color:#eee;
 margin: 0;
 padding:10px;
 text-align:center;
 width:180px;
-moz-border-radius:10px;
-webkit-border-radius:10px;
-webkit-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
-moz-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
 box-shadow: 0px 0 3px rgba(0,0,0,0.25); 
 }
.bubble:after {
 position: absolute;
 display: block;
 content: "";  
 border-color: #eee transparent transparent transparent;
 border-style: solid;
 border-width: 10px;
 height:0;
 width:0;
 position:absolute;
 bottom:-19px;
 left:1em;
 }

 #sidebar:hover .bubble {
  opacity:1.1;
  position: relative;
  background-color:#eee;
  margin: 0;
  padding:10px;
  text-align:center;
  width:180px;
  -moz-border-radius:10px;
  -webkit-border-radius:10px;
  -webkit-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
  -moz-box-shadow: 0px 0 3px rgba(0,0,0,0.25);
  box-shadow: 0px 0 3px rgba(0,0,0,0.25); 
  }

而且我在定位方面遇到了一些麻烦。 我喜欢侧边栏悬停时出现的对话气泡,但它出现在侧边栏中并加长了侧边栏。

我只是想知道是否有办法将它稍微偏向一边,而不是加长侧边栏,就像这样?

positioning

我试过固定定位和绝对定位,但都没有用,只是导致它下面的侧边栏图片变大了。有什么可能的方法来定位对话泡泡吗?

最佳答案

有这样一种方式,你可以在气泡上使用posotion: absolute,在导航容器上使用position: relative。请记住,具有绝对定位的元素对于其他元素将是“不存在的”,因此您必须为它们提供 z-index: 3/将您喜欢的任何数字放在 2/之上。要从页面中“移除”气泡,请使用 display: none 但首先要将它们定位好。如果你觉得有困难再寻求帮助 :D

关于html - 定位一个元素以便该元素不会覆盖侧边栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23727738/

相关文章:

javascript - 无法阻止表单提交的默认值| View 3

javascript - 发生变化时如何将访问过的链接更改为未访问过的链接

javascript - 具有多个链接的 Accordion

CSS 网格悬停是 "shuffeling"

html - 关于在使用某些第 3 方 css 框架时如何在网页中显示用户输入的 html 的任何想法

javascript - 在 Javascript 中动态显示长度作为类型

HTML 按钮位置

html - 粘性导航栏允许其他 div 元素重叠

html - css hover 不起作用(小代码)

html - CSS 样式 : How to change the image when it is hovered over?