【问题标题】:Adding transparent (through text and navbar) text to navbar将透明(通过文本和导航栏)文本添加到导航栏
【发布时间】:2014-08-06 21:26:02
【问题描述】:

我正在使用引导程序构建一个网站,并且我在窗口顶部固定了一个导航栏。我正在尝试通过字母和导航栏使栏左侧的缩写徽标 (BLM) 透明(以便可以通过字母看到页面上的任何内容)。

有人知道需要添加什么 css(或 html)来执行此操作吗?

下面是我的导航栏代码:

<!-- Fixed navbar -->
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">BLM</a>
    </div>
    <div class="navbar-collapse collapse">

      <ul class="nav navbar-nav navbar-right">
        <li class="active"><a href="#">Home</a></li>
            <li><a href="#">About</a></li>
            <li class="dropdown">
              <a href="#"class="dropdown-toggle" data-toggle="dropdown">The Team <span class="caret"></span></a></li>
                <ul class="dropdown-menu" role="menu">
                    <li><a href="#">PersonA</a></li>
                    <li><a href="#">PersonB</a></li>
                    <li><a href="#">PersonC</a></li>
                    <li><a href="#">PersonD</a></li>
                </ul>
            </li>
            <li><a href="#">Contact</a></li>
      </ul>
    </div><!--/.nav-collapse -->
  </div>
</div>

我所说的使页面透明的部分是

<a class="navbar-brand" href="#">BLM</a>

我可以使用 CSS 使导航栏品牌透明,但它只是黑色,因为导航栏是黑色的(我不希望导航栏是透明的)。

在这个例子中,我希望能够通过 BLM 字母看到红墙

感谢您的任何帮助/想法!

【问题讨论】:

  • 你不能用 CSS 做到这一点......即使是透明文本,它总是会通过文本显示父元素(或其父元素)的背景。

标签: html css twitter-bootstrap transparency


【解决方案1】:

不幸的是,在跨浏览器兼容的同时,还没有 CSS 功能可以满足您的需求。但是,解决您的问题很容易。

将您的徽标替换为带有透明字母和半透明背景的 .png,以匹配导航栏的其余部分。将您的 div 随机播放,以便您的徽标和导航栏的其余部分是独立的元素,您就完成了!

【讨论】:

  • 感谢汤姆的回答!我不确定如何拆分导航栏或其中任何一个,所以绝对不是一个“简单”的解决方案。但我会查看所有这些并尝试一下。问题是我试图在导航栏中设置 css-blur 效果,如果我拆分它并放置徽标,我将无法做到这一点。但是,应该还是能达到我想要的大部分效果。
  • 我看了你的代码,其实你根本不需要拆分任何东西;您已经有一个单独的徽标元素(.navbar-brand)。在您的 CSS 中,为该元素设置 display:inline-block,将背景颜色设置为无,然后添加背景图像。如果你愿意,你仍然可以让你的 CSS 模糊:)
  • 汤姆,非常感谢!!我应该在 CSS 或 html 中插入图像吗?你能解释一下怎么做吗?我尝试使用 html 在 之间插入一个 png 图像,它没有出现在导航栏中,而是一半在一半以下
【解决方案2】:

试试opacity 和一个小数。

.navbar-brand {
    opacity: 0.5;
}

【讨论】:

  • 我已经这样做了,但正如我上面解释的那样,这只是使文本更透明,显示下面的黑色导航栏。我需要通过导航栏查看页面。
  • 与其投反对票,也许如果你用小提琴或插图解释或说明你实际想要实现的目标,我可以帮助你实现你真正需要做的事情。
  • 哈哈,你的答案我没有投反对票!一定是别人!不过我可以做一个 JSfiddle,我会在一秒钟内发布一个
  • @Acoustic77 您尝试做的事情不可能。如果任何父元素(或父元素的父元素)有背景——那将通过文本显示。
  • 除非您将黑色背景本身变成背景图像并遮盖字母,否则这是不可能的。
猜你喜欢
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多