如何使用css使文本透明而不更改为图像
我有一个导航栏,告诉用户通过改变文本颜色和黑色背景选择哪个页面。我只想使当前页面导航中的文本透明 此处示例:-向下滚动到灰色区域以查看如何使用css使文本透明而不更改为图像,css,Css,我有一个导航栏,告诉用户通过改变文本颜色和黑色背景选择哪个页面。我只想使当前页面导航中的文本透明 此处示例:-向下滚动到灰色区域以查看 我已经研究过使用CSS3,但运气不好,我想将加载时间降至最低,因此不想使用图像。这在普通CSS/CSS3中是不可能的 即使您确实使文本透明,在灰色区域上滚动时也不会显示灰色。如果文本是透明的,它将显示其背后的黑色背景 但是,您可以使用一些javascript来检测背景是什么,并根据这一点更改字体的颜色。这在普通CSS/CSS3中是不可能的 即使您确实使文本透明,
我已经研究过使用CSS3,但运气不好,我想将加载时间降至最低,因此不想使用图像。这在普通CSS/CSS3中是不可能的 即使您确实使文本透明,在灰色区域上滚动时也不会显示灰色。如果文本是透明的,它将显示其背后的黑色背景
但是,您可以使用一些javascript来检测背景是什么,并根据这一点更改字体的颜色。这在普通CSS/CSS3中是不可能的 即使您确实使文本透明,在灰色区域上滚动时也不会显示灰色。如果文本是透明的,它将显示其背后的黑色背景
但是,您可以使用一些javascript来检测背景是什么,并根据此更改字体的颜色。代码应该如下所示:-
nav a.current {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
编辑:根据您的评论添加此
CSS:
nav a.current span {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
HTML:
<nav>
<ul>
<li><a href="#"><span>Link></span><a></li>
</ul>
</nav>
CSS:
导航a.电流跨度{
-ms过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=50)”;
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
}
HTML:
- 链接>
代码应该是这样的:-
nav a.current {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
编辑:根据您的评论添加此
CSS:
nav a.current span {
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
HTML:
<nav>
<ul>
<li><a href="#"><span>Link></span><a></li>
</ul>
</nav>
CSS:
导航a.电流跨度{
-ms过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=50)”;
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
}
HTML:
- 链接>
在纯CSS中,不使用图像的另一种方法是使用自定义字体。您所要做的就是找到/创建一种字体,其中的字符是黑色背景的透明字母。近似
您可以在服务器上放置适当的字体,并使用规则导入它。在纯CSS中,不使用图像的另一种方法是使用自定义字体。您所要做的就是找到/创建一种字体,其中的字符是黑色背景的透明字母。近似
您可以在服务器上放置适当的字体,并使用规则导入它。您使用白色作为文本颜色,黑色作为背景 因此,如果它的颜色不是灰色的,它看起来像灰色的 您的代码如下所示
css
nav a.current {
background:black;
color: white;
padding: 5px;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* For IE*/
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
Html
<nav>
<a class="current" href="index.html">home</a>
</nav>
css
导航a.电流{
背景:黑色;
颜色:白色;
填充物:5px;
-ms过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=50)”;/*用于IE*/
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
}
Html
您使用白色作为文本颜色,黑色作为背景
因此,如果它的颜色不是灰色的,它看起来像灰色的
您的代码如下所示
css
nav a.current {
background:black;
color: white;
padding: 5px;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* For IE*/
filter: alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}
Html
<nav>
<a class="current" href="index.html">home</a>
</nav>
css
导航a.电流{
背景:黑色;
颜色:白色;
填充物:5px;
-ms过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=50)”;/*用于IE*/
过滤器:α(不透明度=50);
-moz不透明度:0.5;
-khtml不透明度:0.5;
不透明度:0.5;
}
Html
使fontsize:0px
成为透明文本 使fontsize:0px
成为透明文本 是的,我只是想匹配左侧的方形徽标,这样在滚动时,其他设计就会显示出来。是的,我只是想匹配左侧的方形徽标,这样在滚动时,其他设计就会显示出来。但这也会改变背景的不透明度,我只想针对文本。您可以应用一个简单的技巧,将文本包装在
中,然后降低不透明度。例如,像这样的
,新的css选择器将是nav a.current span{}
,但这也改变了背景的不透明度,我只想针对文本。你可以应用一个简单的技巧,将文本包装成
,然后降低同样的不透明度。例如,像这样的
,新的css选择器将是nav a。当前span{}
是的,我昨晚自己就有了这个想法,尽管我需要Nevis字体字形,然后在字体软件中编辑它们,这些字体不容易找到。@SamMarchant现在我想到了,添加自定义字体对加载时间的影响与图像一样糟糕。恐怕图像毕竟是最好的解决方案。只需通过保持颜色空间尽可能小来减小它们的大小。另一个选择是试验SVG。但是,对于简单的大型图像,文件大小的减小最为明显。这些字体非常小,所以代码可以占用和图片一样多的空间。是的,昨晚我自己就有了这个想法,尽管我需要Nevis字体字形,然后在字体软件中编辑它们,这些字体不容易找到。@SamMarchant现在我想起来了,添加自定义字体对加载时间的影响和图像一样糟糕。恐怕图像毕竟是最好的解决方案。只需通过保持颜色空间尽可能小来减小它们的大小。另一个选择是试验SVG。但是,对于简单的大型图像,文件大小的减小最为明显。这些都是非常小的,所以代码可以像图片一样占用空间。