图解css3:核心技术与案例实战. 2.6 语言伪类选择器

简介:

2.6 语言伪类选择器

使用语言伪类选择器来匹配使用语言的元素是非常有用的,特别是用于多语言版本的网站,其作用更是明显。可以使用他来根据不同语言版本设置页面的字体风格。

2.6.1 语言伪类选择器语法

语言伪类选择器是根据元素的语言编码匹配元素。这种语言信息必须包含在文档中,或者与文档关联,不能从CSS指定。为文档指定语言,有两种方法可以表示。如果使用HTML 5,直接可以设置文档的语言。例如:

<!DOCTYPE HTML>

<html lang="en-US">

另一种方法就是手工在文档中指定lang属性,并设置对应的语言值。例如:

<body lang="fr">

语言伪类选择器允许为不同的语言定义特殊的规则,这在多语言版本的网站用起来是特别的方便。

E:lang(language)表示选择匹配E的所有元素,且匹配元素指定了lang属性,而且其值为language。

2.6.2 浏览器兼容性

浏览器兼容性如表2-10所示。

语言伪类选择器在IE 7及以下版本中还不被支持,对于追求完美的设计师来说,又有点畏惧,不敢使用。其实也不是没有办法,可以为不同的浏览器(IE 6和IE 7)采用不同的方法来实现。

对于IE 6浏览器,给引文元素在不同版本的时候设置不同的类名,例在英文版本下设置类名“.en”,而在法文版本下设置类名为“.fr”,就可以通过类名给引文定义不同的样式。

对于IE 7浏览器,也可以采用IE 6浏览器的方法。如果不考虑IE 6浏览器,可以使用属性选择器中的“E[foo|="en"]”选择器为不同语言版本的引文设置不同样式。

2.6.3 实战体验:定制不同语言版本引文风格

如果网站是一个多语言版本,使用语言伪类选择器为特定的语言定义不同样式是非常完美的。例如,多语言版本有一段这样的引文,如图2-18所示。

在多语言的网站中,改变引文的不同样式,例如网站还有一个法语语言版本,使用? ...?替代是不是比引号(“...”)更适合其语言版本呢?同时,为了突出引文的重要性,可以在不同的语言版本中给引文设置不同的背景颜色。最后的效果如图2-19所示。

 

图2-19 多语言版本引文的效果

在不增加任何代码或手工修改代码达到图2-19所示的引文效果,使用语言伪类选择器是一个不错的方法,示例代码如下所示。

<!DOCTYPE HTML>

<html lang="en-US">

<head>

  <meta charset="UTF-8">

  <title>语言伪类选择器运用</title> 

</head>

<body>

<p>WWF's goal is to:

<q cite="http://www.wwf.org">

build a future where people live in harmony with nature

</q> we hope they succeed.</p>

</body>

</html>

为<html>标签设置一个“lang=en-US”属性,这是默认英文版本的时候。当网站转译到法语版本,此时<html>标签中的lang属性值动态变成“fr”,如下所示。

<!DOCTYPE HTML>

<html lang="fr">

<head>

  <meta charset="UTF-8">

  <title>语言伪类选择器运用</title> 

</head>

<body>

<p>WWF's goal is to:

<q cite="http://www.wwf.org">

build a future where people live in harmony with nature

</q> we hope they succeed.</p>

</body>

</html>

也可以简单地通过目标伪类来实现。

/*英文(en-US)版本的引文q效果*/

:lang(en) {

  quotes:'"' '"';

}

:lang(en) q {background: red;}

/*法文(fr)版本的引文q效果*/

:lang(fr) {

  quotes:'?' '?';

}

:lang(fr) q {background: green;}

   大家也可以通过这种方法为不同语言版本的网站相关元素设置不同的样式,例如改变网站面页面的字号、设置不同的背景图片等。

相关文章
|
15天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
29 5
|
21天前
|
前端开发 JavaScript 开发者
掌握 CSS 弹性布局(Flexbox):构建复杂页面布局的高效秘籍与实战案例
CSS弹性布局(Flexbox)是现代网页设计中构建复杂页面布局的高效工具。本文将深入浅出地介绍Flexbox的核心概念、使用技巧及实际应用案例,帮助读者快速掌握这一强大布局方法。
|
1月前
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
43 2
|
2月前
|
前端开发
CSS常见的选择器
CSS常见的选择器
24 0
|
2月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
35 0
|
7月前
|
前端开发
web前端开发---CSS基础选择器
web前端开发---CSS基础选择器
50 1
|
3月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
99 1
|
5月前
|
前端开发
前端 CSS 经典:好用的 CSS 选择器
前端 CSS 经典:好用的 CSS 选择器
30 0
|
7月前
|
前端开发
前端 css 经典:选择器速记
前端 css 经典:选择器速记
48 0
|
7月前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性