Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用css使文本透明而不更改为图像_Css - Fatal编程技术网

如何使用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。但是,对于简单的大型图像,文件大小的减小最为明显。这些都是非常小的,所以代码可以像图片一样占用空间。