多行的字符串属性值,HTML

Per*_*-lk 15 html string split

是否有可能在HTML中编写如下内容:

<a href="bla bla bla bla\
        bla bla bla bla">....</a>
Run Code Online (Sandbox Code Playgroud)

这个想法是在不同的行中分割字符串属性以提高可读性.

Nad*_*adu 14

是的,这是可能的:https: //stackoverflow.com/a/38874964/3135511 秘诀是使用tab而不是space 以及使用linebreaks

<a href="
	bla 
	bla bla 
	bla bla bla 
	bla bla 
	bla
	">....</a>
Run Code Online (Sandbox Code Playgroud)
^ - 尝试代码并将鼠标悬停在.... 并寻找链接 - 它应该读起来就像bla bla bla bla bla bla bla bla bla

背景:

  • 字符串中的空格将被转义为%20,因此保留,+但是白色空格作为制表符换行符将被丢弃/过滤掉.

    如果你想让它们在一个字符串写入%09Tab和%0A%0D一些CR/LF窗口换行.- > 这两个字节的一个 Ç arrier - [R E打开炭和一些大号 INE ˚F EED炭.

  • 请注意,这在不久的将来可能不起作用。带换行符的 URL [已弃用](https://www.chromestatus.com/features/5735596811091968)。 (2认同)

Juk*_*ela 8

不,这是不可能的。HTML 没有“换行符”字符。如果在属性值中放置换行符,浏览器的行为会有所不同,但现代浏览器的行为方式与 HTML5 中记录的方式相同:允许换行符,它按字面意思理解并作为换行符存储在 DOM 中。这意味着href属性值已损坏且不起作用。

缓解长href值问题的最佳方法是将这样的值单独放在一行中,不带引号:

<a href=
http://www.example.com/some-long-path/and-so-on
>link</a>
Run Code Online (Sandbox Code Playgroud)

相比之下,以下内容是允许的,并且会导致两行工具提示(在现代浏览器中)。关键是通用语法允许换行,但它们有后果,并且属性的特定语法可能禁止换行。

<a href=foo title="Hello
world">bar</a>
Run Code Online (Sandbox Code Playgroud)