网页中 需要不同的hover样式 如何设置不同的hover样式 怎么去命名 哪一个种全局 哪一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页中 需要不同的hover样式 如何设置不同的hover样式 怎么去命名 哪一个种全局 哪一个相关的知识,希望对你有一定的参考价值。

网页中 需要不同的hover样式 如何设置不同的hover样式 怎么去命名 哪一个种全局 哪一个种局部

设置不同的hover样式:
.txt1:hover.....
.txt2:hover.....
.txt3:hover.....

如果非要分全局,局部。那么可以用class,id来区分:
.txt:hover....为全局
#txt:hover....为局部
参考技术A 根据UI来吧!把使用最多的那个当做全局,其他的自定义。追问

命名方式是什么呀 可以不可以举个例 具体讲讲 谢谢了

追答

比如给a标签设置hover,就直接使用a:hover{}里面写样式。然后有有个class为a2的a标签你想使用不一样的hover,就可以写a.a1:hover里面写样式

SwiftUI:如何在字符串子范围上使用不同的字体和颜色设置文本视图的样式

【中文标题】SwiftUI:如何在字符串子范围上使用不同的字体和颜色设置文本视图的样式【英文标题】:SwiftUI: How do style Text view with different font and colour on string subranges 【发布时间】:2019-11-27 13:30:56 【问题描述】:

我想设置我的 Text 视图的样式,使其显示的字符串对于 2 个单词中的每一个都具有不同的颜色。我知道我可以使用 2 x Text 以不同的样式。但是我应该将这个字符串单词保存在单独的状态变量中。但我考虑是否可以为字符串的不同部分定义不同的 .font().foregroundColor() 。

还有一些情况,当前导较长时,我们只希望第一个句子或第一个单词加粗,其余文本使用常规字体。

知道如何在 SwiftUI 中实现这一点吗?

【问题讨论】:

你可能会使用属性字符串这个链接可以帮助你 - gfrigerio.com/nsattributedstring-in-swiftui 参见此处:hackingwithswift.com/quick-start/swiftui/… 当您说 textview 时,您是指TextEditor 吗?我希望这样做,而不是文本视图 您可以在这里找到其他解决方案:https://***.com/questions/61671313/making-parts-of-text-bold-in-swiftui 【参考方案1】:

您可以使用包裹在HStack 中的ForEach 循环来替换字符串的格式,尽管这有其自身的问题。以下代码将允许您根据单词在字符串中的位置有条件地应用格式:

struct FancyTextView: View 

    let label: String

    var splicedLabel: [String] 
        return label.split(separator: " ").map(String.init)
    

    var body: some View 
    
        HStack 
            ForEach(0..<splicedLabel.count, id: \.self)  index in
                Text(self.splicedLabel[index])
                    .fontWeight(index.isMultiple(of: 2) ? .bold : .regular)
                    .foregroundColor(index.isMultiple(of: 2) ? .blue : .red)
            
        
    
    

不幸的是,这个简单的解决方案不适用于较长的字符串:

我认为递归可能有用,但我想不出一种方法来使用 SwiftUI 的 Text() + Text() 语法的递归。

不过,你可以修改上面的代码,只用更大的字体格式化第一个单词,然后你可以使用Text() + Text() 语法:

这也消除了 HStackForEach 与文本组合的令人不快的格式。只需将正文更改为以下内容:

Text(splicedLabel[0] + " ")
        .font(.title)
        .fontWeight(.bold)
    + Text(splicedLabel[1])

如果使用此示例,请确保将 .split() 中的 maxSplits 参数更改为 1,并检查以确保结果数组中至少有两个字符串。

【讨论】:

以上是关于网页中 需要不同的hover样式 如何设置不同的hover样式 怎么去命名 哪一个种全局 哪一个的主要内容,如果未能解决你的问题,请参考以下文章

CSS设置链接的样式

如何设置CSS样式使网页中过长的新闻标题后面以省略号显示

为什么是link-visited-hover-active原理这样的特殊

CSS样式中visited,hover,active , focus这四个分别表示什么意思?

在DW,CSS样式中link,visited,hover,active这四个分别表示啥意思?

如何强制 linux 上的 chrome 重新计算/重新渲染 ":hover" 样式?