在线HTML格式化工具和在线CSS样式格式化工具的工作原理是什么啊?

html-css09

在线HTML格式化工具和在线CSS样式格式化工具的工作原理是什么啊?,第1张

本质就是根据一套设定的规则用编程语言(js、asp、php、ruby..)来判断处理字符串

格式前:

<html><body></body></html>

格式后:

<html>

<body></body>

</html>

只说一种大致原理,具体实现有很多算法:

规则:根据html里<>是一个元素开始,</>是一个元素结束来查找元素

程序读到第一个<html>就去找与之对应的</html>

然后又去找<html></html>之间有无能配对的<></>,没有的话则不处理

有子元素的话,就需要插入换行把子元素和父级分开(同时处理细节,如父子标签之间多余的空格、插入tab缩进等)

然后又去找<body></body>里面有没有配对的<></>,没有则不处理,有的话则向前面几步一样循环往复的查找、处理

------------------------------------------------------

css格式化的大概规则:

body{color:red}.myclass{font-size:12px}#myid span{width:100pxcolor:yellow}

找配对的{},里面的玩意根据为结尾的规则换行:

{

width:100px

color:yellow(最后一句可以不写这个“”所以这种情况也要考虑)

}

加点tab缩进:

{

width:100px

color:yellow

}

还有就是判断一对{...}外面那些字符,加入换行:

body{}

.myclass{}

#myid span{}

最后你看到的就是:

body{

color:red

}

.myclass{

font-size:12px

}

#myid span{

width:100px

color:yellow

}

具体实现中,上面的还有很多情况也是要考虑的,比如写代码的人忘了写</html>,程序找到<html>后找不到配对的</html>,这时怎么处理?是忽略、提示错误、还是另外弄套更复杂的规则去智能的补写一个</html>上去?反正很多细节,写程序的人要尽量先想到可能的各类情况。

其他什么玩意格式化也是这个原理,只是查找的规则不一样而已。

反过来,有很多压缩js、css、html代码的东西,是为了节约字节减少服务器压力,把文件里面的无用空格、换行都删除掉,就是把这些步骤反过来。

另外处理字符串,你可以百度下:正则表达式

一个基本的网站包含很多个网页,一个网页由html, css和javascript组成。html是主体,装载各种dom元素;css用来装饰dom元素;javascript控制dom元素。用一扇门比喻三者间的关系是:html是门的门板,css是门上的油漆或花纹,javascript是门的开关;

HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。

扩展资料

css优先权。

多个css样式可集中在单个html标签里,出现这种情况时,一般按优先权划分:

1、浏览器默认设置 (最低)

2、外部样式表

3、内部样式表(写在html的<head>标签内部)

4、内联样式(写在html的标签里,即style属性)(最高)

css的语法。

css由两个主要部分组成,选择器,一条或多条声明。

选择器是指css样式的名字“.seletor”,名字前面要带上一点“.”。声明是由属性和值组成,给个例子“margin: 0 auto”,冒号前面是属性,后面是值,该例子是定义元素居中显示。

一、css是Cascading Style Sheets 的缩写,即层叠式样式表单,它是由W3C协会制定并发布的一个网页排版式标准,是对HTML语言功能的补充。

二、HTML和CSS的区别?

1、定义不同:

html是HyperTextMark-upLanguage的缩写,即超文本标记语言;

css是Cascading Style Sheets 的缩写,即层叠式样式表单,它是由W3C协会制定并发布的一个网页排版式标准,是对HTML语言功能的补充。

2、用途不同:

html则是用于文本内容,包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。

css是多用于样式,主要的用途是对网页中字体、颜色、背景、图像及其他各种元素的控制,使网页能够完全按照设计者的要求来显示。

3、CSS语法与HTML语法完全不同:

HTML里代码是功能标签,如DIV、SPAN、A链接、em标签、I斜体标签、u下划线等,html代码语法范例:<div>内容</div>

CSS样式代码语法是div{样式单词:值}

三、HTML和CSS联系:

CSS与HTML相同之处在于,两个共同作用让网页实现需要的布局样式。

扩展资料:

1、标记符<html>,说明该文件是用超文本标记语言(本标签的中文全称)来描述的,它是文件的开头而</html>,则表示该文件的结尾,它们是超文本标记语言文件的开始标记和结尾标记。

2、CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。

CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。