HTML和CSS之间的关系:
入门编程的伙伴,我们先从HTML和CSS这两个简单的语言开始入门,简单的语言能够提升我们对编程的兴趣,学习起来并不会感觉枯燥无味。

CSS是控制HTML内标签显示不同布局样式。可以控制对应html标签颜色、字体大小、字体、宽度、高度、浮动等样式。

可以这样说:HTML犹如一个人,而CSS则是服饰。通过不同服饰打扮出不同风格人。

一、Css与html不同
CSS语法与HTML语法完全不同

1、HTML里代码是功能标签,如DIV、SPAN、A链接、em标签、I斜体标签、u下划线等

html代码语法范例:

<div>内容</div>
<span>内容</span>

2、CSS样式代码语法

div{样式单词:值}

如div{font-size:12px;} 设置div对象内字体大小为12px

从以上2点可以看出HTML与CSS样式语法完全不同。CSS控制了html标签对象的样式表现。而HTML内标签表现样式(美化)被CSS控制。

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

三、DI V+CSS叫法原因
在HTML中我们平凡地使用DIV标签,而通过CSS样式表对html标签赋予样式实现网页布局,由此我们通俗认为DIV+CSS代表XHTML(HTML)+CSS。平时我们所听所说的DIV+CSS大家就要立刻理解为,通过CSS样式+HTML代码实现的HTML静态网页通俗称法。

下面来介绍一下Css与html的标签、语法、使用方式:
HTML简单的标签:
1、<!DOCTYPE>

必须是 HTML 文档的第一行,位于 标签之前。

<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

2、\<!--...--> 标签

注释标签。...代表注释内容,不会在浏览器中显示。

3、\<a> 标签

定义超链接,用于从一张页面链接到另一张页面。

例:

<a href="https://www.baidu.com">百度</a>

4、\<body> 标签

body 元素定义文档的主体。

body 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)

例:

<html>
<head>
  <title>文档的标题</title>
</head>
<body>
  文档的内容... ...
</body>
</html>

5、\<br> 标签

\<br> 可插入一个简单的换行符。

\<br> 标签是空标签(意味着它没有结束标签,因此这是错误的:\<br>\</br>)。在 XHTML 中,把结束标签放在开始标签中,也就是 \<br />。

需要注意的是,\<br> 标签只是简单地开始新的一行,而当浏览器遇到 \<p> 标签时,通常会在相邻的段落之间插入一些垂直的间距。

6、button 标签

button标签定义一个按钮。

在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。

<button type="button">Click Me!</button>

7、code标签

定义 计算机代码 文本

8、div 标签

div 可定义文档中的分区或节(division/section)。

div 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。

如果用 id 或 class 来标记 \<div>,那么该标签的作用会变得更加有效。

PS :(单单在html里对文档布局没有影响,但是在加入css时会非常方便划分区域)

9、footer 标签

footer 标签定义文档或节的页脚。

footer 元素应当含有其包含元素的信息。

页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等。

可以在一个文档中使用多个 footer 元素。

<footer>
  <p>Posted by:zhihu</p>
  <p>Contact information: <a href="mailto:"></a>.</p>
</footer>

10、h1 到 h6 标签

h1 - h6 标签可定义标题。h1 定义最大的标题。h6 定义最小的标题。

<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<h5>这是标题 5</h5>
<h6>这是标题 6</h6>

11、head 标签

head 标签用于定义文档的头部,它是所有头部元素的容器。head 中的元素可以引用脚本、指示浏览器在哪里找到样式表、提供元信息等等。

文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。

下面这些标签可用在 head 部分:\<base>, \<link>, \<meta>, \<script>, \<style>, 以及 \<title>。

\<title> 定义文档的标题,它是 head 部分中唯一必需的元素。

<html>
<head>
  <title>文档的标题</title>
</head>
<body>
  文档的内容... ...
</body>
</html>

12、\<header> 标签

\<header> 标签定义文档的页眉(介绍信息)。

<header>
<h1>Welcome to my homepage</h1>
<p>My name is Donald Duck</p>
</header>


<p>The rest of my home page...</p>

13、\<html> 标签

此元素可告知浏览器其自身是一个 HTML 文档。

\<html> 与 \</html> 标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。正如您所了解的那样,文档的头部由 \<head> 标签定义,而主体由 \<body> 标签定义。

<html>
<head>
  这里是文档的头部 ... ...
  ...
</head>
<body>
  这里是文档的主体 ... ...
  ...
</body>
</html>

14、\<link> 标签

\<link> 标签定义文档与外部资源的关系。

\<link> 标签最常见的用途是链接样式表。

<head>
<link rel="stylesheet" type="text/css" href="theme.css" />
</head>

15、\<main> 标签

\<main> 标签规定文档的主要内容。

注释:在一个文档中,不能出现一个以上的 \<main> 元素。\<main> 元素不能是以下元素的后代:\<article>、\<aside>、\<footer>、\<header> 或 \<nav>。

<main>
  <h1>Web Browsers</h1>
  <p>Google Chrome、Firefox 以及 Internet Explorer 是目前最流行的浏览器。</p>
 
  <article>
    <h1>Google Chrome</h1>
    <p>Google Chrome 是由 Google 开发的一款免费的开源 web 浏览器,于 2008 年发布。</p>
  </article>
 
  <article>
    <h1>Internet Explorer</h1>
    <p>Internet Explorer 由微软开发的一款免费的 web 浏览器,发布于 1995 年。</p>
  </article>
 
  <article>
    <h1>Mozilla Firefox</h1>
    <p>Firefox 是一款来自 Mozilla 的免费开源 web 浏览器,发布于 2004 年。</p>
  </article>
</main> 

16、\<meta> 标签

\<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

\<meta> 标签位于文档的头部,不包含任何内容。\<meta> 标签的属性定义了与文档相关联的名称/值对。

17、\<p> 标签

\<p> 标签支持 HTML 中的全局属性。

<p>This is some text in a very short paragraph</p>

18、\<section> 标签

\<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。

<section>
  <h1>PRC</h1>
  <p>The People's Republic of China was born in 1949...</p>
</section>

19、\<select> 标签
select 元素可创建单选或多选菜单。
\<select> 元素中的 \<option> 标签用于定义列表中的可用选项。

<select>
  <option value ="volvo">Volvo</option>
  <option value ="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

20、\<style> 标签

\<style> 标签用于为 HTML 文档定义样式信息。

在 style 中,您可以规定在浏览器中如何呈现 HTML 文档。

vtype 属性是必需的,定义 style 元素的内容。唯一可能的值是 "text/css"。

style 元素位于 head 部分中。

<html>
<head>
<style type="text/css">
h1 {color:red}
p {color:blue}
</style>
</head>
 
<body>
<h1>Header 1</h1>
<p>A paragraph.</p>
</body>
</html>

21、\<title> 标签

\<title> 元素可定义文档的标题。

浏览器会以特殊的方式来使用标题,并且通常把它放置在浏览器窗口的标题栏或状态栏上。同样,当把文档加入用户的链接列表或者收藏夹或书签列表时,标题将成为该文档链接的默认名称。

<html>
 
  <head>
    <title>XHTML Tag Reference</title>
  </head>
 
  <body>
    The content of the document......
  </body>
 
</html>

CSS语法使用:
1,CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

选择器通常是您需要改变样式的 HTML 元素。

每条声明由一个属性和一个值组成。

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

下面的示意图为您展示了上面这段代码的结构:

提示:请使用花括号来包围声明。

2,CSS的引入方式

样式表定义如何显示 HTML 元素,就像 HTML 3.2 的字体标签和颜色属性所起的作用那样。样式通常保存在外部的 .css 文件中。通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面的布局和外观。

由于允许同时控制多重页面的样式和布局,CSS 可以称得上 WEB 设计领域的一个突破。作为网站开发者,你能够为每个 HTML 元素定义样式,并将之应用于你希望的任意多的页面中。如需进行全局的更新,只需简单地改变样式,然后网站中的所有元素均会自动地更新。

3,元素选择器

通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁。

派生选择器允许你根据文档的上下文关系来确定某个标签的样式。通过合理地使用派生选择器,我们可以使 HTML 代码变得更加整洁。

例:

html代码:

<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>
 

<ol>
<li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
<li>我是正常的字体。</li>
</ol>

希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器:

li strong {
    font-style: italic;
    font-weight: normal;
  }

4,类选择器与ID选择器

1》在 CSS 中,类选择器以一个点号显示:

.center {text-align: center}

在上面的例子中,所有拥有 center 类的 HTML 元素均为居中。

在下面的 HTML 代码中,h1 和 p 元素都有 center 类。这意味着两者都将遵守 ".center" 选择器中的规则。

<h1 class="center">
This heading will be center-aligned
</h1>



<p class="center">
This paragraph will also be center-aligned.
</p>

2》和 id 一样,class 也可被用作派生选择器:

.fancy td {
    color: #f60;
    background: #666;
    }

在上面这个例子中,类名为 fancy 的更大的元素内部的表格单元都会以灰色背景显示橙色文字。(名为 fancy 的更大的元素可能是一个表格或者一个 div)

3》元素也可以基于它们的类而被选择:

td.fancy {
    color: #f60;
    background: #666;
    }

在上面的例子中,类名为 fancy 的表格单元将是带有灰色背景的橙色。

4》id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

id 选择器以 "#" 来定义。

下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二个定义元素的颜色为绿色:

red {color:red;}

green {color:green;}

下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。

这个段落是红色。

这个段落是绿色。

5》id 选择器和派生选择器

在现代布局中,id 选择器常常用于建立派生选择器。

#sidebar p {
    font-style: italic;
    text-align: right;
    margin-top: 0.5em;
    }

上面的样式只会应用于出现在 id 是 sidebar 的元素内的段落。这个元素很可能是 div 或者是表格单元,尽管它也可能是一个表格或者其他块级元素。

5,属性选择器

对带有指定属性的 HTML 元素设置样式。

可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。

注释:只有在规定了 !DOCTYPE 时,IE7 和 IE8 才支持属性选择器。在 IE6 及更低的版本中,不支持属性选择。

例:带有 title 属性的所有元素设置样式:

[title]
{
color:red;
}
6,后代选择器

后代选择器(descendant selector)又称为包含选择器。

后代选择器可以选择作为某元素后代的元素。

1》根据上下文选择元素:

我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起作用,而在另外一些结构中不起作用。

举例,希望只对 h1 元素中的 em 元素应用样式,可以这样写:

h1 em {color:red;}

上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色。其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中:

<h1>This is a <em>important</em> heading</h1>
<p>This is a <em>important</em> paragraph.</p>

7,相邻选择器及通用相邻选择器

相邻兄弟选择器可选择紧接在另一元素后的元素,且二者有相同父元素。

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px;}
selector : pseudo-class {property: value}

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

8,伪类选择器

CSS 伪类用于向某些选择器添加特殊的效果。

伪类的语法:

selector : pseudo-class {property: value}

//CSS 类也可与伪类搭配使用。

selector.class : pseudo-class {property: value}

锚伪类:

在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问和鼠标悬停状态。

a:link
{color: #FF0000} / 未访问的链接 /
a:visited
{color: #00FF00} / 已访问的链接 /
a:hover
{color: #FF00FF} / 鼠标移动到链接上 /
a:active
{color: #0000FF} / 选定的链接 /
9,伪元素选择器

CSS 伪元素用于向某些选择器设置特殊效果。

伪元素的语法:

selector:pseudo-element {property:value;}
//CSS 类也可以与伪元素配合使用:
selector.class:pseudo-element {property:value;}

  :first-line 伪元素
  "first-line" 伪元素用于向文本的首行设置特殊样式。

在下面的例子中,浏览器会根据 "first-line" 伪元素中的样式对 p 元素的第一行文本进行格式化:

实例:

p:first-line
  {
  color:#ff0000;
  font-variant:small-caps;
  }