整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

一文读懂HTML和CSS的关系


eb开发是一个很依赖经验的领域,然而这对初学者很不友好。

知识一旦脱离了应用场景就会变得晦涩、空洞,且知识本身也满足“二八定律”,“抓大放小”是提高学习效率的关键。

下文向大家介绍了HTML和CSS之间的关系。内容选自《HTML 5与CSS 3核心技法(全彩)》一书。本书主线清晰,讲解简洁,并提供在线效果演示效果,非常适合小白上手!


1 HTML是骨架

很难想象一个人在桌前对着一块砧板坐一夜,隔一会儿就噼里啪啦敲几下,一会儿哭一会儿笑,是一种什么景象。事实上,在猫眼中我们就是这样的。只不过我们面对的是一块会发光的“砧板”而已。但为什么这块“板子”如此吸引人?“上网”到底是在做什么?

获取信息。

重点在“信息”,一种看不见摸不着却真实存在的东西。无论“1 + 1 = 2”这段字符显示得多么粗糙,都不会影响它传递了完整的信息,以及这条信息的内在逻辑是正确的,不是吗?HTML就是用来盛放最核心的内容——信息。

所以,在CSS和JavaScript出现之前,HTML就出现了。这是必然的,因为如果连最核心的信息都无法有效传递,那围绕着它的一切装饰物和附属品都是毫无意义的。

除满足承载核心信息的需求外,HTML还解决了一个重要的问题——将信息结构化。

试想有这样一篇文章:

背影

我说道:“爸爸,你走吧。”他望车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。

评论

王花花 大概,天底下的父亲,老去的样子都有些共同的特质吧

李拴蛋 我们都不愿意承认他老了

刘备备 想吃橘子...

此时上面的信息基本没有结构,只能通过断行或缩进尽可能让内容更易读,编辑时的状态就是其最终的显示效果。

HTML就派上了用场,见下方的代码:

代码

<artcle>

<h1>背影</h1>

<p>

我说道:“爸爸,你走吧。”他望车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。

</p>

</artcle>

<section id="comment-list">

<div class="title">评论</div>

<div class="comment">

<strong class="username">王花花</strong>

<span class="content">大概,天底下的父亲,老去的样子都有些共同的特质吧</span>

</div>

<divclass="comment">

<strong class="username">李拴蛋</strong>

<span class="content">我们都不愿意承认他老了</span>

</div>

<div class="comment">

<strong class="username">刘备备</strong>

<span class="content">想吃橘子...</span>

</div>

</section>

一头雾水没关系,后面我们会细说每一个部分。总之这段内容给人感觉反而更繁琐。但繁琐是代价,重要的是现在这段信息有结构了。这就意味着计算机可以通过结构的规律将其显示得更便于阅读(甚至是交互)。

以下是不加任何装饰性内容直接让浏览器呈现的结果:

效果


这是纯HTML在没有引入任何装饰时的显示效果。很明显,即便是这样也比纯文字状态易读了许多。但注意,HTML本身没有样式,字体大小和粗细有变化的原因是浏览器的默认样式起了作用,与HTML没有关系。而重点就在这里,这意味着我们可以基于这个结构设计自己的页面效果,见下方的示例。

代码

<style>

body { font-family: 'Microsoft YaHei', sans-serif; }

#comment-list { background: #f0f0f0; padding: 10px; border: 1px solid #ccc; margin-top: 25px; }

#comment-list .comment { margin-top: 10px; margin-bottom: 10px; }

#comment-list .title {

color: #777; font-size: 1.1rem; padding-bottom: 5px;

border-bottom: 1px solid #ccc;

}

</style>

<artcle>

<h1>背影</h1>

<p>

我说道:“爸爸,你走吧。”他望车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。

</p>

</artcle>

<section id="comment-list">

<div class="title">评论</div>

<div class="comment">

<strong class="username">王花花</strong>

<span class="content">大概,天底下的父亲,老去的样子都有些共同的特质吧</span>

</div>

<div class="comment">

<strong class="username">李拴蛋</strong>

<span class="content">我们都不愿意承认他老了</span>

</div>

<div class="comment">

<strong class="username">刘备备</strong>

<span class="content">想吃橘子...</span>

</div>

</section>

效果

这里只是举了一个小示例。你可以轻而易举地让页面的风格千变万化,进而让用户体验有所差异(或差距)。“千变万化”因CSS灵活、强大,“轻而易举”因HTML简洁、有序。结构的力量!

CSS是皮肤

一个充满活力的生态是不满足于现状的。人们在适应了便利地浏览核心信息之后,就会想方设法改进浏览的体验。比如,让自己的博客以多栏显示,以便在视觉上区分不同板块;修改字体颜色,以便强调一些重要信息等。

起初的做法是——准备几种特殊的标签,专门用于样式的指定。涉及布局的地方,如果没有特殊标签就直接用表格布局。以下没有任何样式的状态(以下代码均不需要看懂):

代码

<h1>标题</h1>
<p>
从前有座山,山里有个庙,庙里...

</p>

效果


此时的页面结构下。

如果想让标题居中,则需要给其添加元素<center>,见下方的示例。

代码

<center>
<h1>标题</h1>
</center>
<p>
从前有座山,山里有个庙,庙里...
</p>

效果

此时的页面结构如下。

居中标题的目的确实达到了,但是有一个很大的问题:如果我改变主意了,不想让其居中了,那么我还得再去将<center>元素去掉。这对于简单的页面确实可行,但如果是复杂的页面,这种做法的工作量就是噩梦,因为每个地方都得修改,无论是对齐方式、颜色、背景色,还是大的布局都必须通过修改结构才能完成。这种做法的最大问题是可维护性太差,很多时候为了一种样式要修改很多不必要的结构,枯燥、重复、削足适履的工作太多,基本上写一次就再也不想改了。

这个问题亟待解决,而且解决方案还要兼容现有规则。现有规则是什么?HTML的语法及结构。不过既然HTML已经有结构了,为什么不好好利用呢?

以前面示例中的文章页面为例,如果我们想更改标题,是否可以先统一选中所有标题,然后说明想要什么样式规则呢?就像下面这样:

所有h1 元素听着

对齐方式 居中。

字体颜色 黑色。

如果想将所有段落字体放大,则像下面这样:

所有p 元素听着

字体大小 150%。

这种方式的确很高效!同时这个规则与HTML语法无关,相当于另一种语言。这样结构和样式就不会互相影响,结构是结构,样式是样式,两者隔离开了。如果想修改样式,则完全不需要劳HTML大驾,只需要修改样式文件即可,更便于管理和维护。这就是CSS,只不过其语法更简洁。

下面以修改标题对齐方式为例:

h1 { /* 所有h1 元素听着 */

text-align: center; /* 对齐方式 居中 */

}

通过批量选择和处理,极大地提高了开发效率,降低了维护成本,四两拨千斤。

(完)


图书推荐


《HTML 5与CSS 3核心技法(全彩)》

表严肃 著

本书能够为自学Web开发初学者建立一套HTML与CSS的核心知识框架,同时借助丰富的示例让初学者有一个愉悦、轻松的学习过程。

想从事前端开发的,可将本书作为学习的起点。正从事前端开发的,可将本书作为速查的手册。

 HTML、CSS、Javascript是前端Web开发的主要语言,但是学生们经常混淆Javascript和HTML。因此,今天我们在这里讨论这两种最重要的编程语言之间的差异。

  Javascript简介

  Javascript 是一种基于文本的编程语言,主要用于Web开发。它是WWW(万维网)的核心技术之一。

  通过使用 Javascript,程序员可以创建交互式和响应式Web元素并增强网站的UI。Javascript 在客户端Web开发中非常流行,以至于互联网上超过97%的网站都将其用于客户端行为。弹出窗口、图像滑块、站点导航菜单、选项卡、表单验证是用于Web开发的Javascript的一些示例。

  HTML简介

  HTML是超文本标记语言的首字母缩写,它是用于创建网页和Web应用程序的标准标记语言。HTML描述了网页的结构,浏览器从服务器接收HTML页面,然后将文档呈现到屏幕上。

  HTML包含多个元素,这些元素告诉浏览器内容的外观。例如,<p>标签定义了一个段落,<title>定义了web文档的标题,<body>定义了可见的页面内容,<table>定义了一个表格等等。HTML可以嵌入脚本程序如JS程序 会影响网页的内容和行为。此外,它可以包含 CSS(层叠样式表)来改善网页的布局和外观。

  


  Javascript与HTML:主要区别是什么?

  句法

  HTML是一种标记语言,它有多种标签,如表格标签、换行标签、图片标签、标题标签等。同时,Javascript具有不同的功能,可以使网页具有交互性和动态性。HTML语法更容易学习和理解。与HTML相比,Javascript是一种复杂的语言。

  动态规划

  Javascript使网站动态化,它可以更改用户操作的HTML标记的值和属性,它主要包含在HTML代码中以制作交互式网页。

  另一方面,仅HTML无法制作动态网页,因此,无法动态更改代码。程序员可以在HTML代码中包含Javascript来制作动态网页。

  兼容性

  兼容性是Javascript与HTML的主要关注问题之一。每个浏览器都支持HTML,它的标签可以在每个浏览器上毫无问题地呈现,但是,Javascript并不总是与每个浏览器兼容。

  例如,一些Javascript函数在Chrome或Firefox中运行良好,但在Internet Explorer 中运行不佳,这就是为什么一些网站提到兼容浏览器列表以确保在客户端浏览器中正确查看网站。

  客户端和服务器端Web开发

  HTML用于对网页的客户端进行编码,程序员不能使用它来编写服务器端代码。相比之下,Javascript可以在网站的客户端和服务器端使用,服务器端 Javascript(SSJS)是核心javascript的扩展版本。

  例如,NodeJS是一个开源和跨平台的Javascript运行时环境,允许程序员使用 javascript编写服务器端代码。在NodeJS的帮助下,Javascript代码可以在浏览器之外运行。

  JavaScript与HTML的比较


  总结

  我们已经讨论了有关Javascript与HTML的所有内容。HTML用于创建网页,它由浏览器解释并以文本和图像的形式显示在屏幕上,而javascript主要用于使网页具有交互性。Javascript是一种比HTML更先进、更复杂的语言,这两种语言一起使用来制作优秀的网站。

SS(层叠样式表)和JavaScript是Web开发中的两个核心组成部分,它们各自在网页设计和交互性方面发挥着重要的作用。尽管它们在许多方面是互补的,但它们在功能、语法和用途上存在着明显的区别。

一、功能上的区别

CSS主要负责网页的样式和布局。它定义了网页元素(如文本、图片、视频等)的外观,包括颜色、字体、边距、对齐方式等。CSS使开发者能够创建出美观、一致的网页界面,并确保这些界面在各种设备和浏览器上都能良好地显示。

JavaScript则主要负责网页的交互性和动态功能。它允许开发者为网页添加点击事件、表单验证、动画效果、数据操作等交互性元素。JavaScript使网页不再是静态的,而是能够响应用户的操作,提供更加丰富和动态的用户体验。

二、语法上的区别

CSS的语法相对简单,主要基于属性和值的对应关系。例如,要设置一个段落的文字颜色为红色,可以使用如下CSS代码:

```css

p {

color: red;

}

```

JavaScript的语法则更加复杂,它使用类似C语言的语法结构,包括变量、函数、条件语句、循环等。例如,要创建一个简单的点击事件,可以使用如下JavaScript代码:

```javascript

button.addEventListener('click', function() {

alert('Button clicked!');

});

```

三、用途上的区别

CSS通常用于样式设计和布局调整,包括颜色、字体、边距、对齐方式等视觉元素的设置。它也可以用于响应式设计,使网页在不同设备和屏幕尺寸上都能良好地显示。

JavaScript则广泛应用于各种交互性功能的实现,如表单验证、动画效果、数据操作等。它还可以与服务器进行交互,实现数据的动态加载和更新。

四、总结

CSS和JavaScript在Web开发中各自发挥着重要的作用。CSS负责网页的样式和布局,使网页更加美观和一致;而JavaScript则负责网页的交互性和动态功能,使网页能够响应用户的操作,提供更加丰富和动态的用户体验。虽然它们在许多方面是互补的,但它们在功能、语法和用途上存在着明显的区别。因此,在Web开发过程中,需要根据实际需求合理选择和使用这两种技术。