2011-12-25 88 views
1

这可能做自己的实体吗?HTML/CSS自己的实体

赞:&longline; - > -----------------------------

然后在HTML代码中使用它:

<div> 
    &longline; 
    bla bl bla 
</div> 

回答

2

XML中使用<!ENTITY>声明是可能的,但我不会推荐它。您的网站将不再是HTML,并且大多数浏览器都不会接受它。 (的确,没有,unless your file is XML,这相反击败了这个目的。)使用JavaScript的客户端处理是可能的,但不可访问。除非是用户输入,否则服务器端处理是浪费时间,在这种情况下,您应该在将数据插入数据库之前更换实体。

所以,是的,这是可能的,但除非你有充分的理由这么做......不要!

+0

不错的观察! – 2011-12-25 09:34:04

1

不,不是纯粹的HTML。

但是,这种所需的行为可以通过javascript(或PHP,python,ruby)来实现。你可以扫描所有的文本节点并相应地进行替换。

但是,我很难看出您为什么喜欢这样的行为。我认为你应该使用合适的元素<hr>元素。 CSS支持border: 1px dashed black;所以它看起来像很多破折号( - )。

Php也有功能str_repeat('-', 30);。这将使30破折号,但它必须被替换服务器端。

+0

哦不:(我以为我见过像我需要的功能,但我很久以前,这只是我想象中的想法。#edit:嘿,那条线就是例子,我试着用这样的实体: &ArgumetnNullException;建立一个msdn的链接#edit:也像这样:http://www.w3schools.com/dtd/dtd_entities.asp。所以我们可以制作实体,但它不是html5:/ – zgnilec 2011-12-25 09:33:27

+0

好吧,也许如果你告诉你想要达到什么样的行为,我们可能会提供另一种解决方案 – 2011-12-25 09:35:50

+0

是的,但它确实有问题的浏览器支持,如果你必须这样做,我会用javascript来完成,使用jQuery很简单。 – 2011-12-25 09:38:59

1

如果您使用的是服务器端语言号,你可以使用一个字符串在语言替换功能(PHP,C#,Java和Ruby的,等等),但不是在纯HTML。

1

不可能使用HTML,但实现此目标的最佳方法是服务器端脚本,以便用户可以接收纯粹格式良好的HTML,但可以让开发人员自由使用您想要执行的方法来生成HTML 。

PHP可以通过缓存输出来完成此操作,然后用新字符串替换所有匹配项。