问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

CSS样式失效了,怎么解决这个问题呢

发布网友 发布时间:2022-04-20 17:49

我来回答

2个回答

懂视网 时间:2022-04-20 22:10

由于一个中文是两个字符组成,在编码不一致的情况下会引发字符的“重新”组合,(半个汉字的编码字符与后面的字符组合生成新的“文字”)引发原本的结束符合“变异”,从而导致找不到结束符号,使得后面的CSS就会失效。

小技巧1:CSS中出现的乱码都是由于CSS字符编码与页面的字符编码不一致所引起的,因此最直接的方法就是使字符编码一致。将CSS指定编码类型,例:@charset "utf-8";(指定编码类型为utf-8,须写在CSS文件第一行)
小技巧2:CSS中出现的乱码都是由于中文字符引发的,因此只要不写中文,就不会产生“乱码引起CSS失效”的这种情况

撇开以上两种小技巧,我们在刨下根,就会发现“乱码”通常来自以下两种情况。

一、中文注释引起乱码
CSS注释为:/*某些注释*/
乱码实例:
正常代码:/*三汉字*/
引起的乱码:/*涓夋眽瀛?/
浏览器环境:IE6
HTML:gb2312
CSS:无编码指定,实际解析为utf-8.



 
 


测试

ie7查看源文件。

在ie6以下版本文字颜色没变化。


上例为乱码阻断了CSS注释的结束符,使得后面的CSS内容都在注释范围内,从而导致CSS的失效


防范措施:加强注释
示例:
正常代码:/****三汉字****/
引起的乱码:/****涓夋眽瀛?***/
这种增强版的注释可以防止乱码把注释的最终结束符“变异”,可以在编写CSS时,提前防范。

二、中文字体引起乱码
CSS指定字体:font-family:"中文字体";

乱码实例:
正常代码:font-family:"黑体"
引起的乱码:font-family:"榛戜綋"
浏览器环境:IE6
HTML:gb2312
CSS:无编码指定,实际解析为utf-8



 
 


测试

源文件


上例为乱码使得字体名称变成乱码,导致指定字体失效。这个问题的后果似乎不是很严重,但实际情况中,确实存在一种乱码把后面的引号“变异”的情况,使得后面的CSS都在字体的引号中,从而后面的CSS全部失效。
防范措施:采用字体的别名(所以浏览器都可识别)

示例:
正常代码:font-family:"SimHei" (font-family:"9ed14f53" )
浏览器解析:font-family:"SimHei" (font-family:"黑体",IE6仍为font-family:"9ed14f53" 但字体解析显示为黑体)
使用别名,绕开了使用中文,从而避免乱码

css中文字体(font-family)列表
Windows的一些:
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微软雅黑体:Microsoft YaHei


装Office会生出来的一些:
隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei

补充:
使用楷体_GB2312、仿宋_GB2312后,在 Windows 7/Vista/2008 中可能不再显示为对应的字体。
这是因为 Windows 7/Vista/2008 中有楷体、仿宋,默认情况下没有楷体_GB2312、仿宋_GB2312,字体名称相差“_GB2312”。

-----------------------------------------------------------

中文字体在 CSS 中的写法
针对字体的写法,觉得需要说明一下:

body,button, input, select, textarea {
font: 12px/1 Tahoma, Helvetica, Arial, "5b8b4f53", sans-serif;
}

“5b8b4f53″ 就是 “宋体”。用 unicode 表示,不用 SimSun, 是因为 Firefox 的某些版本和 Opera 不支持 SimSun 的写法。


普及点字体知识:
字体的别名
系统中的一个字体是允许有多种别名形式存在的。比如,在 Windows 下,Georgia 也可以用 Georgia MS 来命名,它们其实是同一种字体。宋体的正式名称是 SimSun,而“宋体”只是它的别名。
按照规范,浏览器应该能自动识别字体的别名,并映射到正确的字体文件。比如,font-famliy: SimSun和font-family: "宋体"应该具有等价的效果。可惜,似乎很多浏览器都不能正确执行前一条定义……
因此,考虑浏览器兼容,我们需要用“宋体”,转码成 unicode 形式则可以保证在任何编码下都无问题。

-----------------------------------------------------------

为了方便需要的朋友快速使用,下表中列出了一些常用中文字体的Unicode编码:
黑体 9ED14F53

热心网友 时间:2022-04-20 19:18

你审查下元素,看下失效的原因,会不会被别的样式掩盖了追问

这是chrome的调试栏,没有被遮盖阿,父元素的父元素用了position:relative;,去掉就可以显示手型,hover也没有效果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
郑州都哪里有蹦极啊 滑雪场门票系统 西安未央有哪些初中 西安未央区有哪些中学 西安未央区有哪些学校 西安未央第一学校什么水平 未央一校咋样 搬鞭炮被抓了怎么处罚 卵子多大才算成熟而排出 成熟卵子排出多久同房 屋主租房子合同丢失了该怎么办 在香港上过大学的进 看图猜成语五块木板四个钉子钉在一块上面 第四个字命,第一个字是安的成语有哪些 木板上的钉子 带安的成语有哪些成语 ( )( )安命 括号里加什么字 成成语 求解答 在一块木板上钉上九个钉子,每行每列的距离都是一样的,以钉子为顶点拉上橡皮筋, 大角鼠yesyes什么梗 大角鼠是纳垢的化身吗 战锤2恐怖的十三魔法谁会 美国最大的门户网站是什么? 何炅跟汪涵经常一起主持节目,他俩关系有多好? 新闻节目和娱乐节目的主持人和主持风格有什么区别? 《天天向上》节目中的五个主持人私底下关系如何? 非节目主持与节目主持的区别与相通之处? 节目策划和主持人有什么区别? 当综艺节目的主持人是不是需要关系才能够当? 主持人的出现对节目的发展有何影响 的色阶,曲线,亮度对比度和色相饱和度一般怎么做调整 ps用色相/饱和度如何调色又不改变原来的花纹, 一般性货币政策工具与选择性货币工具是怎样并行使用的 润滑油塑料桶哪家最好哦 海鱼可以做烤鱼吗 润滑油包装桶是什么塑料做的 注塑模具桶类都是用来装什么 润滑油塑料中桶盛油后时间长桶身桶盖凹下去是怎么回事 我用同一个电话号码申请了两个,原来微信不能登录怎么办? 我一个手机号注册了两个,另外一个登不上了,怎么办- 问一问 一个手机号注册了两个, 现在第二个能登第一个登不上去了,怎么找回来呢? 一个手机号绑定两个 另一个用不了了 我的一个手机号码注册了两个微信,另一个被*了,现在找不到怎么办? 我的一个手机号码注册了两个微信,另一个被*了,现在找不到怎么办? 同一个手机号注册了两个号已经把新号注销为什么用回旧的显示暂不能进行 一个手机号注册了两个,以前那个不能用了吗? 我一个手机号注册了两个,另外一个登不上了,怎么办? 我一个手机号注册了两个,另外一个登不上了,怎么办? 我一个手机号注册了两个,另外一个登不上了,怎么办? 我一个手机号注册了两个,另外一个登不上了,怎么办? 我一个手机号注册了两个,另外一个登不上了,怎么办? 网站编码改成uft-8后,引用的外部CSS文件,样式中<body>中color颜色定义失效,如何解决?