整合营销服务商

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

免费咨询热线:

一文读懂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更先进、更复杂的语言,这两种语言一起使用来制作优秀的网站。

一篇介绍了网页的基本结构,那如何编写网页的内容? 前提是要学会HTML标签的用法,本篇主要介绍HTML标签是什么,如何学习,需要大概多长时间学习。

本篇主要基于html5介绍,html5 是最新版的标准,之前的版本可以自己了解下。

HTML 简介

HTML的英文全称是Hyper Text Markup Language,直译为超文本标记语言。它是全球广域网上描述网页内容和外观的标准。HTML包含了一对打开和关闭的标记,在当中包含有属性和值。标记描述了每个在网页上的组件,例如文本段落、表格或图像等。

事实上,HTML是一种因特网上较常见的网页制作标注性语言,而并不能算做一种程序设计语言,因为它缺少程序设计语言所应有的特征。HTML通过IE等浏览器的翻译,将网页中所要呈现的内容、排版展现在用户眼前。

一个html标签基本结构如下:

<标签名称  属性="属性值"></标签名称> 或 <标签名称 属性="属性值"/>

有以下特点:

  1. 由尖括“<”、“>”号包围的标记元素,比如 <html>和</html>就是一对标记。
  2. 通常是成对出现的,比如 <div> 和 </div>,也有单独呈现的标签,如:<img />、<input/>等。
  3. 标签对中的第一个标签是开始标签,第二个标签是结束标签;
  4. 一般成对出现的标签,其内容在两个标签中间,如<h1>标题</h1>。单独呈现的标签,则在标签属性中赋值,如<input type="text" />。
  5. 网页展示的内容需写在<body>标签中。
  6. 标签不区分大小写,建议按规范小写。

HTML标签按功能大体可分以下几种类型:

  1. 构成网页基本架构的标签,比如:<!DOCTYPE>(定义文档类型)、<html>(根标签),<meta>(元信息)、<head> (网页头部区域)、<body> (网页内容区域)。
  2. 用于引入外部资源客户端脚本的标签,比如:<link>(外部资源,css样式文件), <script>(客户端js脚本)。
  3. 用于描述布局的标签,比如: <div>、<ul>(无序列表)、<ol>(有序列表)、<h1>到<h6>(标题1到6)、<table>(表格)、<footer>(页脚)、<header>(页头)等。
  4. 用于描述文本格式的标签,比如:<p> (段落)、<strong>(加粗)、<q>(引用)、<span>等。
  5. 用于引入多媒体资源的标签,比如:<img>、<video>、<audio>等。
  6. 用于制作表单的标签,比如:<form>(表单),<input>(输入框),<textarea>(文本域),<select>(下拉菜单),<radio>(单选项),<checkbox>(多选项)等。
  7. 其它标签(不是很常用的)。

如何学习html的标签用法

没有捷径,需要多看,多练。在这里我不一一介绍每个标签的具体含义及用法,相关语法可以参考以下几个网站:

  1. https://www.w3cschool.cn/html5/
  2. https://developer.mozilla.org/zh-CN/docs/Web/HTML

制定一个学习计划,每天坚持下去

要求,每天花费3到5个小时学习,至少1到2周掌握常用的html标签含义及用法,可以按照上面介绍的标签进行分类学习,感谢关注,祝你学习愉快。