html - 是否可以使用 css 将跨度样式设置为工具提示

标签 html css

当我提交无法更改的表单时,我返回了一些 html。

<div>
   <label>Enter your email</div>
   <input type="text" name="email" value="bademail@" />
   <div class="error">That email is not valid</div>
<div>

我想设计它的样式,以便 div.error 显示一个图标,当我将鼠标悬停在该图标上时,它会显示文本作为工具提示。

这可以单独使用 css 来完成吗?

最佳答案

您可以在 div 上使用悬停来显示子跨度:

.error {
  position: relative;
}

.error > span {
  display: none;
}

.error:hover > span {
  display: block;
  position: absolute;
  left: 20px;
  bottom: 100%;
  border: 1px solid red;
  border-radius: 3px;
  padding: 5px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
}
<div>
   <label>Enter your email</label>
   <input type="text" name="email" value="bademail@" />
   <div class="error">icon<span>That email is not valid</span></div>
</div>

你也可以使用伪元素代替span:

.error {
  position: relative;
}
.error:hover::before {
  display: block;
  position: absolute;
  left: 20px;
  bottom: 100%;
  border: 1px solid red;
  border-radius: 3px;
  padding: 5px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  content: attr(data-tooltip);
}
<div>
  <label>Enter your email</label>
  <input type="text" name="email" value="bademail@" />
  <div class="error" data-tooltip="That email is not valid">icon</div>
</div>

关于html - 是否可以使用 css 将跨度样式设置为工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36677871/

相关文章:

html - 基金会网格系统中的标记 : Where to put a wrapper div?

html - 网页结构。巨大的差距。 HTML 或 CSS 问题?

html - 如何将菜单的背景颜色更改为透明?

html - 单击时按钮应具有不同的颜色,但该页面上所有按钮的颜色都会更改

html - 标题下降到第二行

javascript - 防止 html 输入字段上的 Enter 键react.js

javascript - 加载 jquery - 阻止 CDN 服务器往返

html - CSS/HTML - 嵌套表格的问题

javascript - 围绕一个圆绝对定位元素

html - Shiny 的 HTML 整页 Bootstrap 轮播