html - CSS :before pseudo element + twitter bootstrap navbar logo

标签 html css twitter-bootstrap pseudo-element

我正在使用 Twitter Bootstrap。这是我的标题 HTML 的一部分:

<a class="navbar-brand" href="#/">
    <span>watch.js</span>
</a>

我还添加了以下 CSS:

.navbar-brand span:before {
  background: url("favicon.png")no-repeat;
  background-size: 53%;
}

我想在导航栏中添加一个图形 Logo 作为伪元素(我相信在所有设备上维护它比定义 img 元素并手动设置样式更容易)。

不幸的是,整个事情不起作用,我的意思是, :before 伪元素不可见。甚至使用chrome开发工具都无法找到。图像就在那里,但我猜 CSS 还存在其他问题。

有人可以帮我找出上面应该改变什么吗?

最佳答案

伪元素如 ::before need a content property为了变得可见(例如 content:'';)。这会渲染一个 0×0px 的盒子,您仍然需要在其上设置宽度高度。也许您还想包含 display (例如 display:inline-block;)。

您的代码至少需要成为

.navbar-brand span::before {
  content:'';
  width: 16px;
  height: 16px;
  dislay: inline-block;
  background: url("favicon.png")no-repeat;
  background-size: 53%;
}

(请注意,伪元素有两个冒号 ::,而不是 CSS3 中的一个 :,但向后兼容性也允许使用一个冒号。)

关于html - CSS :before pseudo element + twitter bootstrap navbar logo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880809/

相关文章:

javascript - HTML 如何在单选按钮按下时传递两个变量?

jquery - li 与不同的元素

java - 如何在 NetBeans servlet/jsp 元素中使用 html 和/或 css 样式?

html - 如何制作响应式英雄广告

HTML 使用 Bootstrap CSS 没有响应

html - 如何将 url 或 .html 页面链接链接到 CSS 按钮

javascript - 滚动模式时 bootstrap-datepicker 不滚动

javascript - aria-hidden=true 是否意味着您不必使用显示 :none?

twitter-bootstrap - 使用 Require.js 从 CDN 加载 Bootstrap

twitter-bootstrap - 面板 Bootstrap 折叠 - 显示不正确