4

因此,我们使用 css 内容来定位真正“样式”特定的文本已成为相当普遍的做法。例如

.label:after { content: ":"; }

然而,有人向我指出,这种事情在某些文化中有所不同。哦哦。

有没有人有一个很好的模式来处理这种事情,因为 CSS 文件通常不通过 asp.net 处理器,因此无法访问资源文件。

4

3 回答 3

11

I really like this question so I thought about it a bit. Would this be a good approach for you?

<label data-after=":">Name</label>

Then, in your CSS you can do:

label:after {
  content: attr(data-after);
}

Here's a quick demo of it: http://jsbin.com/iYEKOH/1/edit?html,css,output

It should be pretty easy to polyfill for browsers that don't support it using Modernizr. I think it would add a no-generatedcontent class.


Another though... How about this approach?

html label:after { content: '' }
html[lang=en] label:after { content: ':' }
于 2013-09-25T15:28:19.860 回答
4

这种方法怎么样?它会让你根据lang属性进行切换。

html label:after { content: '' }
html[lang=en] label:after { content: ':' }
于 2013-09-25T16:04:20.763 回答
2

如果我在 PHP 中执行此操作(脚本语言并不重要,只会影响实现细节),我将设置 CSS 文件,其中包含依赖于本地化的所有规则。

例如,local-en.csslocal-fr.css等等。

在我的站点模板中,我会检查我的本地化标志,然后加载或链接到适当的 CSS 文件,同时考虑文件的顺序,以确保所有 CSS 规则正确级联。

于 2013-09-25T15:34:08.513 回答