CSS中为啥我设置了背景为半透明,连字体都透明了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS中为啥我设置了背景为半透明,连字体都透明了相关的知识,希望对你有一定的参考价值。

你用的CSS滤镜,他会把标签内的所有元素都半透明。因为CSS滤镜是IE独有的,所以火狐不支持。你可以这样写
.header
filter:alpha(opacity=50);opacity:0.5;

至于怎么样让.header标签内的元素不透明,我想还是写一个跟.header平级的标签,再用绝对定位作吧!
参考技术A .header你这个样式作用的范围是<div><p></p></div>直接影响到里面的p标签的内容你可以设置.header
pfilter:alpha(opacity=100);试试

在 Swift xCode 中将 UI 导航栏设置为半透明

【中文标题】在 Swift xCode 中将 UI 导航栏设置为半透明【英文标题】:Setting UI Navigation Bar to part translucent in Swift xCode 【发布时间】:2015-07-19 22:00:21 【问题描述】:

我想让我的导航栏有一点颜色但不是完全半透明。 这是我的代码及其结果:

        UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
    UINavigationBar.appearance().shadowImage = UIImage()
    UINavigationBar.appearance().translucent = true
    UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 107/255, blue: 178/255, alpha: 0.5)

但如果我将“半透明”设置为 false,即使用以下代码:

        UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
    UINavigationBar.appearance().shadowImage = UIImage()
    UINavigationBar.appearance().translucent = false
    UINavigationBar.appearance().barTintColor = UIColor(red: 0, green: 107/255, blue: 178/255, alpha: 0.5)

我得到这个结果:

如何使条形图的 alpha 值为 0.5 或“部分半透明”?

谢谢您,我们将不胜感激。

【问题讨论】:

试试 UINavigationBar.appearance().tintColor 属性 【参考方案1】:

我会为导航栏设置一个半透明的背景图片。

使用此代码:

UINavigationBar.appearance().setBackgroundImage(UIColor.green.toImage()?.imageWithAlpha(alpha: 0.5), for: .default)

使用了两个扩展:

从 UIColor 创建一个 UIImage:

extension UIColor   
        func toImage() -> UIImage? 
            return toImageWithSize(size: CGSize(width: 1, height: 1))
        
        func toImageWithSize(size: CGSize) -> UIImage? 
            UIGraphicsBeginImageContext(size)

                if let ctx = UIGraphicsGetCurrentContext() 
                    let rectangle = CGRect(x: 0, y: 0, width: size.width, height: size.height)
                    ctx.setFillColor(self.cgColor)
                    ctx.addRect(rectangle)
                    ctx.drawPath(using: .fill)
                    let colorImage = UIGraphicsGetImageFromCurrentImageContext()
                    UIGraphicsEndImageContext()
                    return colorImage
                 else 
                    return nil
                
               
        

从具有指定 Alpha 的 UIImage 创建新的 UIImage:

extension UIImage 
    func imageWithAlpha(alpha: CGFloat) -> UIImage? 
        UIGraphicsBeginImageContextWithOptions(size, false, scale)
        draw(at: CGPoint.zero, blendMode: .normal, alpha: alpha)
        let newImage = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return newImage
    

【讨论】:

以上是关于CSS中为啥我设置了背景为半透明,连字体都透明了的主要内容,如果未能解决你的问题,请参考以下文章

CSS怎么设置让背景颜色透明,而文字不透明

c#winform怎么把控件背景设为半透明,像这样

css在灰色透明的背景下,如何才能使上面的字的颜色为白色?

网页制作中,我使用滤镜,把背景颜色黑色半透明了,但它也把我黑色背景上的字体也给半透明了,求高手指...

css中关于字体颜色的设置

在 Swift xCode 中将 UI 导航栏设置为半透明