\r\n,java开发时支持此写法,纯HTML静态页面不支持。
换行:用<br>...</br> 或<br />表示
换段:用<p>...</p>表示
英文空格:用&nbsp表示
中文空格:用&nbsp&nbsp表示
当然如果纯文本的话,
可以用padding或margin表示精确距离,也可用text-indent缩进属性表示。
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="http://cdn.staticfile.org/codemirror/5.40.2/codemirror.min.css">
<style>
.CodeMirror {
border: 1px solid #ccc
}
</style>
</head>
<body>
<textarea id="textareaCode"></textarea>
<button onclick="submitTryit()">点击运行</button>
<div id="iframewrapper"></div>
</body>
<script src="http://cdn.staticfile.org/codemirror/5.40.2/codemirror.min.js"></script>
<script>
var mixedMode = {
name: "htmlmixed",
scriptTypes: [{
matches: /\/x-handlebars-template|\/x-mustache/i,
mode: null
},
{
matches: /(text|application)\/(x-)?vb(a|script)/i,
mode: "vbscript"
}]
}
var editor = CodeMirror.fromTextArea(document.getElementById("textareaCode"), {
mode: mixedMode,
selectionPointer: true,
lineNumbers: false,
matchBrackets: true,
indentUnit: 4,
indentWithTabs: true
})
window.addEventListener("resize", autodivheight)
function autodivheight() {
var winHeight = 0
if (window.innerHeight) {
winHeight = window.innerHeight
} else if ((document.body) && (document.body.clientHeight)) {
winHeight = document.body.clientHeight
}
//通过深入Document内部对body进行检测,获取浏览器窗口高度
if (document.documentElement && document.documentElement.clientHeight) {
winHeight = document.documentElement.clientHeight
}
height = winHeight * 0.68
editor.setSize('100%', height)
document.getElementById("iframeResult").style.height = height + "px"
}
function resetCode() {
var initCode = "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"> \n<title>\u83dc\u9e1f\u6559\u7a0b(runoob.com)<\/title> \n<style>\n#grad1 {\n height: 200px\n\tbackground-color: red \/* \u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u65f6\u663e\u793a *\/\n background-image: linear-gradient(#e66465, #9198e5)\n}\n<\/style>\n<\/head>\n<body>\n\n<h3>\u7ebf\u6027\u6e10\u53d8 - \u4ece\u4e0a\u5230\u4e0b<\/h3>\n<p>\u4ece\u9876\u90e8\u5f00\u59cb\u7684\u7ebf\u6027\u6e10\u53d8\u3002\u8d77\u70b9\u662f\u7ea2\u8272\uff0c\u6162\u6162\u8fc7\u6e21\u5230\u84dd\u8272\uff1a<\/p>\n\n<div id=\"grad1\"><\/div>\n\n<p><strong>\u6ce8\u610f\uff1a<\/strong> Internet Explorer 9 \u53ca\u4e4b\u524d\u7684\u7248\u672c\u4e0d\u652f\u6301\u6e10\u53d8\u3002<\/p>\n\n<\/body>\n<\/html>"
editor.getDoc().setValue(initCode)
submitTryit()
}
function submitTryit() {
var text = editor.getValue()
var patternHtml = /<html[^>]*>((.|[\n\r])*)<\/html>/im
var patternHead = /<head[^>]*>((.|[\n\r])*)<\/head>/im
var array_matches_head = patternHead.exec(text)
var patternBody = /<body[^>]*>((.|[\n\r])*)<\/body>/im
var array_matches_body = patternBody.exec(text)
var basepath_flag = 1
var basepath = ''
if (array_matches_head) {
text = text.replace('<head>', '<head>' + basepath)
} else if (patternHtml) {
text = text.replace('<html>', '<head>' + basepath + '</head>')
} else if (array_matches_body) {
text = text.replace('<body>', '<body>' + basepath)
} else {
text = basepath + text
}
var iframe = document.createElement("iframe")
iframe.setAttribute("frameborder", "0")
iframe.setAttribute("id", "iframeResult")
iframe.setAttribute("width", "100%")
document.getElementById("iframewrapper").innerHTML = ""
document.getElementById("iframewrapper").appendChild(iframe)
var ifrw = (iframe.contentWindow) ? iframe.contentWindow : (iframe.contentDocument.document) ? iframe.contentDocument.document : iframe.contentDocument
ifrw.document.open()
ifrw.document.write(text)
ifrw.document.close()
autodivheight()
}
submitTryit()
autodivheight()
</script>
</html>
请采纳
HTML中<, >,&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列,如下所示:&或 &
&
和
<或 <
<
小于号
>或 >
>
大于号
"
"
双引号
空格
©
©
版权符
®
®
注册符
前者为字符转义序列,后者为数字转义序列。数字转为字符对应的ASCII码值。例如 &ltfont >显示为,<font>,若直接写为则被认为是一个链接签。
需要说明的是:
a. 转义序列各字符间不能有空格;
b. 转义序列必须以";"结束;
c. 单独的&不被认为是转义开始;
d.区分大小写。
另一个需要转义的字符是引号,它的转义序列为"" "或"""
HTML使用的字符集是ISO &859 Larin-1字符集,该字符集中有许多标准键盘上无法输入的字符。对这些特殊字符只能使用转义序列。
XML转义字符
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:
<message>if salary <1000 then</message>
为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:
<message>if salary <1000 then</message>
下面是五个在XML文档中预定义好的实体:
<
<
小于号
>
>
大于号
&
&
和
'
'
单引号
"
"
双引号
实体必须以符号"&"开头,以符号""结尾。
注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)