1. <hr /> 标签和 <br /> 标签一样也是一个 空标签 ,所以只有一个开始标签,没有结束标签。

2. <hr /> 标签的在浏览器中的默认样式线条比较粗,颜色为灰色,可能有些人觉得这种样式不美观,没有关系,这些外在样式在我们以后学习了css样式表之后,都可以对其修改。

address标签,为网页加入地址信息

一般网页中会有一些地址信息需要在网页中展示出来,这些地址信息如公司的地址就可以<address>标签。

<address>地址信息</address>

<address>北京市西城区德外大街10号</address>

在浏览器上显示的样式为 斜体 ,如果不喜欢斜体,当然可以,可以在后面的课程中使用css样式来修改它 <address> 标签的默认样式。

想加入一行代码吗?使用code标签

在介绍语言技术的网站中,必免不了在网页中显示一些计算机专业的编程代码,当代码为一行代码时,你就可以使用<code>标签了,如下面例子:

<code>var i=i+300;</code>

注意:在文章中一般如果要插入多行代码时不能使用<code>标签了。

<code>代码语言</code>

注:如果是多行代码,可以使用<pre>标签。

使用pre标签为你的网页加入大段代码

在上节中介绍加入一行代码的标签为<code>,但是在大多数情况下是需要加入大段代码的,如下图:

怎么办?不会是每一代码都加入一个<code>标签吧,没有这么复杂,这时候就可以使用<pre>标签。

<pre>语言代码段</pre>

<pre> 标签的主要作用:预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。

如下代码:

var message="欢迎"; for(var i=1;i<=10;i++) alert(message);

在浏览器中的显示结果为:

在上面的例子中可以看到代码中的空格,换行符都保留下来。如果用以前的方法,回车需要输入 <br> 签,空格需要输入 &nbsp;

注意: <pre> 标签不只是为显示计算机的源代码时用的,在你需要在网页中预显示格式时都可以使用它,只是 <pre> 标签的一个常见应用就是用来展示计算机的源代码。

使用ul,添加新闻信息列表

在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表、图片列表,如下图所示。

这些列表就可以使用ul-li标签来完成。ul-li是 没有前后顺序 的信息列表。

<li> 信息 </li> <li> 信息 </li> ...... <li> 精彩少年 </li> <li> 美丽突然出现 </li> <li> 触动心灵的旋律 </li>

ul-li在网页中显示的默认样式一般为:每项li前都自带一个圆点,如下图所示:

在上一小节中,我们把一些标签放进<div>里,划分出一个独立的逻辑部分。为了使逻辑更加清晰,我们可以为这一个独立的逻辑部分设置一个名称,用 id 属性来为 <div> 提供唯一的名称,这个就像我们每个人都有一个 身份证号 ,这个身份证号是 唯一标识 我们的身份的,也是必须 唯一 的。

如下两图进行比较,如果设计师把两个图给你,哪个图你看上去能更快的理解呢?是不是右边的那幅图呢。

<div  id="版块名称">…</div>

table、tbody、tr、th、td

1、<table>…</table>:整个表格以 <table> 标记开始、 </table> 标记结束。

2、<tbody>…</tbody>:当表格内容非常多时,表格会下载一点显示一点,但如果加上<tbody>标签后,这个表格就要等表格内容全部下载完才会显示。如右侧代码编辑器中的代码。

3、<tr>…</tr>:表格的一行,所以有几对tr 表格就有几行。

4、<td>…</td>:表格的一个单元格,一行中包含几对 <td>...<td/> ,说明一行中就有几列。

5、<th>…</th>:表格的头部的一个单元格, 表格表头。

6、表格中列的个数,取决于一行中数据单元格的个数。

上述代码在浏览器中显示的默认的样式为:

1、table表格在没有添加css样式之前,在浏览器中显示是没有表格线的

2、表头,也就是th标签中的文本默认为 粗体 并且 居中 显示

用css样式,为表格加入边框

Table表格在没有添加css样式之前,是没有边框的。这样不便于我们后期 合并单元格 知识点的讲解,所以在这一节中我们为表格添加一些样式,为它添加边框。

在右侧代码编辑器中添加如下代码:

<style type="text/css">
table tr td,th{border:1px solid #000;}
</style>

上述代码是用css样式代码( 后面章节会详细讲解 ),为 th td 单元格添加粗细为一个象素的黑色边框。

结果窗口显示出结果样式:

摘要的内容是不会在浏览器中显示出来的。它的作用是增加表格的可读性,使搜索引擎更好的读懂表格内容,还可以使屏幕阅读器更好的帮助特殊用户读取表格内容。

语法: <table summary=”表格简介文本”>

用以描述表格内容,标题的显示位置:表格上方。

<table>
    <caption>标题文本</caption>
        <td>…</td>
        <td>…</td>
</table>

使用<a>标签,链接到别一个页面

使用 <a> 标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这个标签。

<a href=”目标网址”>链接显示的文本</a>
<a href = "http://www.imooc.com">click here!</a>

上面例子作用是单击 click here! 文字,网页链接到 http://www.imooc.com 这个网页。

在新建浏览器窗口中打开链接

<a> 标签在默认情况下,链接的网页是在当前浏览器窗口中打开,有时我们需要在新的浏览器窗口中打开。

如下代码:

<a href="目标网址" target="_blank" >click here!</a>

但注意此属性不符合w3c规范,所以html5已经废除。但目前这种方法还在普遍使用,所以在这里做一下了解。

<a> 标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件。我们还可以利用 mailto 做许多其它事情。下面一一进行讲解,请看详细图示:

注意 :如果mailto后面同时有多个参数的话,第一个参数必须以“ ? ”开头,后面的参数每一个都以“ & ”分隔。

下面是一个完整的实例:

在浏览器中显示的结果:

<img>标签,为网页插入图片

在网页的制作中为使网页炫丽美观,肯定是缺少不了图片,可以使用 <img> 标签来插入图片。

<img src="图片地址" alt="下载失败时的替换文本" title = "提示文本">

<img src = "myimage.gif" alt = "My Image" title = "My Image" />

1、src: 标识图像的位置;

2、alt: 指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本;

3、title: 提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本);

4、 图像可以是GIF,PNG,JPEG格式的图像文件。

使用表单标签,与用户交互

网站怎样与用户进行交互?答案是使用HTML表单(form)。表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。

<form   method="传送方式"   action="服务器文件">

1. <form> : <form>标签是成对出现的,以<form>开始,以</form>结束。

2. action : 浏览者输入的数据被传送到的地方,比如一个PHP页面(save.php)。

3. method : 数据传送的方式(get/post)。

<form    method="post"   action="save.php">
        <label for="username">用户名:</label>
        <input type="text" name="username" />
        <label for="pass">密码:</label>
        <input type="password" name="pass" />
</form>

注意所有表单控件(文本框、文本域、按钮、单选框、复选框等)都必须放在<form></form>标签之间。

文本输入框、密码输入框

当用户要在表单中键入字母、数字等内容时,就会用到 文本输入框 。文本框也可以转化为 密码输入框

1 、type:

当type=" text "时,输入框为 文本 输入框 ;

当type=" password "时, 输入框为 密码输入框。

2 、name: 为文本框命名,以备后台程序ASP 、PHP使用。

3 、value: 为文本输入框设置默认值。

在浏览器中显示的结果:

文本域,支持多行文本输入

当用户需要在表单中输入大段文字时,需要用到文本输入域。

<textarea  rows="行数" cols="列数">文本</textarea>

1 、<textarea>标签是成对出现的,以<textarea>开始,以</textarea>结束。

2 cols : 多行输入域的 列数

3 rows : 多行输入域的 行数

4 、在<textarea></textarea>标签之间可以输入 默认值

<form  method="post" action="save.php">
        <label>联系我们</label>
        <textarea cols="50" rows="10" >在这里输入内容...</textarea>
</form>

注意:代码中的<label>标签在本章5-9中讲解。

在浏览器中显示结果:

注意这两个属性可用css样式的width和height来代替:col用width、row用height来代替。(这两个css样式在以后的章节会讲解)

使用单选框、复选框,让用户选择

在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html中有两种选择框,即 单选框 复选框 ,两者的区别是 单选框 中的选项用户只能选择一项,而 复选框 中用户可以任意选择多项,甚至全选。请看下面的例子:

<input   type="radio/checkbox"   value="值"    name="名称"   checked="checked"/>

1、 type:

type="radio" 时,控件为 单选框

type="checkbox" 时,控件为 复选框

2、 value: 提交数据到服务器的值(后台程序PHP使用)

3、 name: 为控件命名,以备后台程序ASP、PHP使用

4、 checked: 当设置checked="checked"时,该选项被默认选中

如下面代码:

注意:代码中的<label>标签在本章5-9中讲解。

在浏览器中显示的结果:

注意 :同一组 的单选按钮,name取值 一定要一致 ,比如上面例子为同一个名称“radioLove”,这样同一组的单选按钮才可以起到单选的作用。

使用下拉列表框,节省空间

下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、又可以多选。如下代码:

1、value:

2、 selected="selected"

设置 selected="selected" 属性,则该选项就被默认选中。

在浏览器中显示的结果:

在表单中有两种按钮可以使用,分别为:提交按钮、重置。这一小节讲解提交按钮:当用户需要提交表单信息到服务器时,需要用到 提交按钮

<input   type="submit"   value="提交">

type :只有当type值设置为submit时,按钮才有提交作用

value 按钮上显示的文字

在浏览器中显示的结果:

当用户需要重置表单信息到初始时的状态时,比如用户输入“用户名”后,发现书写有误,可以使用 重置按钮 使输入框恢复到初始状态。只需要把type设置为"reset"就可以。

<input type="reset" value="重置">

type :只有当type值设置为reset时,按钮才有重置作用

value 按钮上显示的文字

在浏览器中显示的结果:

form表单中的label标签

小伙们,你们在前面学习表单各种控件的时候有没有发现一个标签--label,这一小节就来揭晓它的作用。

label标签不会向用户呈现任何特殊效果,它的作用是为鼠标用户改进了可用性。如果你在 label 标签内点击文本,就会触发此控件。就是说,当用户单击选中该label标签时,浏览器就会自动将焦点转到和标签相关的表单控件上(就自动选中和该label标签相关连的表单控件上)。

<label for="控件id名称">

注意: 标签的 for 属性中的值 应当与相关控件的 id 属性值 一定要相同。

<label for="male" >男</label> <input type="radio" name="sex" id="male" /> <label for="female" >女</label> <input type="radio" name="sex" id="female" /> <label for="email" >输入你的邮箱地址</label> <input type="email" id="email" placeholder="Enter email"> </form>

认识CSS样式

CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。

如下列代码:

font-size:12px; color:red; font-weight:bold;

使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体、字号或者颜色等。

CSS样式的优势

为什么使用css样式来设置网页的外观样式呢?右边编辑器是一段文字,我们想把“ 超酷的互联网 ”、“ 服务及时贴心 ”、“ 有趣易学 ”这三个短语的文本颜色设置为红色,这时就 可以通过设置样式来设置,而且只需要编写一条css样式语句。

第一步:把这三个短语用<span></span>括起来。(见右边代码编辑器 13 行)

第二步:写入下列代码:(见右边代码编辑器 7-8 行)

span{
    color:red;
      

观察结果窗口文字的颜色是否变为红色了。

<span> 在CSS定义中属于一个行内元素,在行内定义一个区域,也就是一行内可以被 <span> 划分成好几个区域,从而实现某种特定效果。 <span> 本身没有任何属性。 <div> 在CSS定义中属于一个块级元素 <div> 可以包含段落、标题、表格甚至其它部分。这使DIV便于建立不同集成的类,如章节、摘要或备注。在页面效果上,使用 <div> 会自动换行,使用 <span> 就会保持同行。

CSS代码语法

css 样式由选择符声明组成,而声明又由属性组成,如下图所示:

选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。

声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如下所示:

p{font-size:12px;color:red;}

1、最后一条声明可以没有分号,但是为了以后修改方便,一般也加上分号。

2、为了使用样式更加容易阅读,可以将每条代码写在一个新行内,如下所示:

font-size:12px; color:red;

CSS注释代码

就像在Html的注释一样,在CSS中也有注释语句:用/*注释语句*/来标明(Html中使用<!--注释语句-->)。就像下面代码:

内联式css样式,直接写在现有的HTML标签中

CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种。这一小节先来讲解内联式。

内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:

<p style="color:red">这里文字是红色。</p>

注意要写在元素的开始标签里,下面这种写法是错误的:

<p>这里文字是红色。</p style="color:red">

并且css样式代码要写在style=""双引号中,如果有多条css样式代码设置可以写在一起,中间用分号隔开。如下代码:

<p style="color:red;font-size:12px">这里文字是红色。</p>

现在有一任务,把右侧编辑器中的“超酷的互联网”、“服务及时贴心”、“有趣易学”这三个短词文字字号修改为18px。如果用上节课我们学习的内联式css样式的方法进行设置将是一件很头疼的事情(为每一个<span>标签加入sytle="font-size:18px"语句),本小节讲解一种新的方法嵌入式css样式来实现这个任务。

嵌入式css样式,就是可以把css样式代码写在<style type="text/css"></style>标签之间。如下面代码实现把三个<span>标签中的文字设置为红色:

<style type="text/css">
span{
color:red;
</style>

嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间。如右边编辑器中的代码。

外部式css样式,写在单独的一个文件中

外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内,如下面代码:

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

1、css样式文件名称以有意义的英文字母命名,如 main.css。

2、rel="stylesheet" type="text/css" 是固定写法不可修改。

3、<link>标签位置一般写在<head>标签之内。

三种方法的优先级

有的小伙伴问了,如果有一种情况:对于同一个元素我们同时用了三种方法设置css样式,那么哪种方法真正有效呢?在右边编辑器就出现了这种情况

1、使用内联式CSS设置“超酷的互联网”文字为粉色

2、然后使用嵌入式CSS来设置文字为红色

3、最后又使用外部式设置文字为蓝色(style.css文件中设置)。

但最终你可以观察到“超酷的互联网”这个短词的文本被设置为了粉色。因为这三种样式是有优先级的,记住他们的优先级:内联式 > 嵌入式 > 外部式

但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。如右代码编辑器就是这样,<link href="style.css" ...>代码在<style type="text/css">...</style>代码的前面(实际开发中也是这么写的)。感兴趣的小伙伴可以试一下,把它们调换顺序,再看他们的优先级是否变化。

其实总结来说,就是--就近原则(离被设置元素越近优先级别越高)

但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下,什么是权值呢?在后面的9-2小节中会讲解到。

什么是选择器?

每一条css样式定义由两部分组成,形式如下:

在{}之前的部分就是“选择器”,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。比如右侧代码编辑器中第7行代码中的“body”就是选择器。

标签选择器

标签选择器其实就是html代码中的标签。如右侧代码编辑器中的<html>、<body>、<h1>、<p>、<img>。例如下面代码:

p{font-size:12px;line-height:1.6em;}

上面的css样式代码的作用:为p标签设置12px字号,行间距设置1.6em的样式。

类选择器在css样式编码中是最常用到的,如右侧代码编辑器中的代码:可以实现为“胆小如鼠”、“勇气”字体设置为红色。

.类选器名称{css样式代码;}

1、英文圆点开头

2、其中类选器名称可以任意起名(但不要起中文噢)

使用方法:

第一步:使用合适的标签把要修饰的内容标记起来,如下:

<span>胆小如鼠</span>

第二步:使用class="类选择器名称"为标签设置一个类,如下:

<span class="stress">胆小如鼠</span>

第三步:设置类选器css样式,如下:

.stress{color:red;}/*类前面要加入一个英文圆点*/

ID选择器

在很多方面,ID选择器都类似于类选择符,但也有一些重要的区别:

1、为标签设置id="ID名称",而不是class="类名称"。

2、ID选择符的前面是井号(#)号,而不是英文圆点(.)

右侧代码编辑器中就是一个ID选择符的完整实例。

类和ID选择器的区别

学习了类选择器和ID选择器,我们会发现他们之间有很多的相似处,是不是两者可以通用呢?我们不要着急先来总结一下他们的相同点和不同点:

相同点:可以应用于任何元素
不同点:

1、ID选择器只能在文档中使用一次。与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。

下面代码是正确的:

 <p>三年级时,我还是一个<span class="stress">胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个<span class="stress">勇气</span>来回答老师提出的问题。</p>

而下面代码是错误的:

 <p>三年级时,我还是一个<span id="stress">胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个<span id="stress">勇气</span>来回答老师提出的问题。</p>

2、可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用 ID 词列表)。

下面的代码是正确的(完整代码见右侧代码编辑器)

.stress{
    color:red;
.bigsize{
    font-size:25px;
<p>到了<span class="stress bigsize">三年级</span>下学期时,我们班上了一节公开课...</p>
      

上面代码的作用是为“三年级”三个文字设置文本颜色为红色并且字号为25px。

下面的代码是不正确的(完整代码见右侧代码编辑器)

#stressid{
    color:red;
#bigsizeid{
    font-size:25px;
<p>到了<span id="stressid bigsizeid">三年级</span>下学期时,我们班上了一节公开课...</p>

上面代码不可以实现为“三年级”三个文字设置文本颜色为红色并且字号为25px的作用。

还有一个比较有用的选择器子选择器,即大于符号(>),用于选择指定标签元素的子元素如右侧代码编辑器中的代码:

.food>li{border:1px solid red;}

这行代码会使class名为food下的子元素li加入红色实线边框。

包含(后代)选择器

包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。如右侧代码编辑器中的代码:

.first  span{color:red;}

这行代码会使第一段文字内容中的“胆小如鼠”字体颜色变为红色。

请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。

总结:>作用于元素的第一代后代,空格作用于元素的所有后代。

通用选择器

通用选择器是功能最强大的选择器,它使用一个(*)号指定,它的作用是匹配html中任意标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色:

* {color:red;}

伪类选择符

更有趣的是伪类选择符,为什么叫做伪类选择符,它允许给html不存在的标签设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:

a:hover{color:red;}

这行代码会使第一段文字内容中的“胆小如鼠”字体颜色变为红色。

分组选择符

当你想为html中多个标签元素设置同一个样式时,可以使用分组选择符(,),如下代码为右侧代码编辑器中的h1、span标签同时设置字体颜色为红色:

h1,span{color:red;}

它相当于下面两行代码:

h1{color:red;}
span{color:red;}

CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。比如下面代码:如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。

p{color:red;}
<p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

可见右侧结果窗口中p中的文本与span中的文本都设置为了红色。但注意有一些css样式是不具有继承性的。如border:1px solid red;

p{border:1px solid red;}
<p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

在上面例子中它代码的作用只是给p标签设置了边框为1像素、红色、实心边框线,而对于子元素span是没用起到作用的。

有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一下面的代码:

p{color:red;}
.first{color:green;}
<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

p和.first都匹配到了p这个标签上,那么会显示哪种颜色呢?green是正确的颜色,那么为什么呢?是因为浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。

下面是权值的规则:

标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:

p{color:red;} /*权值为1*/
p span{color:green;} /*权值为1+1=2*/
.warning{color:white;} /*权值为10*/
p span.warning{color:purple;} /*权值为1+1+10=12*/
#footer .note p{color:yellow;} /*权值为100+10+1=111*/

注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。

我们来思考一个部题:如果在html文件中对于同一个元素可以有多个css样式存在并且这多个css样式具有相同权重值怎么办?好,这一小节中的层叠帮你解决这个问题。

层叠就是在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。

如下面代码:

p{color:red;}
p{color:green;}
<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

最后 p 中的文本会设置为green,这个层叠很好理解,理解为后面的样式会覆盖前面的样式。

所以前面的css样式优先级就不难理解了:

内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)

我们在做网页代码的时,有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时候我们可以使用!important来解决。

如下代码:

p{color:red!important;}
p{color:green;}
<p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>

这时 p 段落中的文本会显示的red红色。

注意:!important要写在分号的前面

这里注意当网页制作者不设置css样式时,浏览器会按照自己的一套样式来显示网页。并且用户也可以在浏览器中设置自己习惯的样式,比如有的用户习惯把字号设置为大一些,使其查看网页的文本更加清楚。这时注意样式优先级为:浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。

文字排版--字体

我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性。下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体。

body{font-family:"宋体";}

这里注意不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览器默认的字体。(因为用户是否可以看到你设置的字体样式取决于用户本地电脑上是否安装你设置的字体。)
现在一般网页喜欢设置“微软雅黑”,如下代码:

body{font-family:"Microsoft Yahei";}
body{font-family:"微软雅黑";}

注意:第一种方法比第二种方法兼容性更好一些。

因为这种字体即美观又可以在客户端安全的显示出来(用户本地一般都是默认安装的)。

文字排版--字号、颜色

可以使用下面代码设置网页中文字的字号为12像素,并把字体颜色设置为#666(灰色):

body{font-size:12px;color:#666}

文字排版--粗体

我们还可以使用css样式来改变文字的样式:粗体、斜体、下划线、删除线,可以使用下面代码实现设置文字以粗体样式显示出来。

p span{font-weight:bold;}

在这里大家可以看到,如果想为文字设置粗体是有单独的css样式来实现的,再不用为了实现粗体样式而使用h1-h6或strong标签了。

文字排版--斜体

以下代码可以实现文字以斜体样式在浏览器中显示:

p a{font-style:italic;}
<p>三年级时,我还是一个<a>胆小如鼠</a>的小女孩。</p>

文字排版--下划线

有些情况下想为文字设置为下划线样式,这样可以在视觉上强调文字,可以使用下面代码来实现:

p a{text-decoration:underline;}
<p>三年级时,我还是一个<a>胆小如鼠</a>的小女孩。</p>

文字排版--删除线

如果想在网页上设置删除线怎么办,这个样式在电商网站上常会见到:

上图中的原价上的删除线使用下面代码就可以实现:

 .oldPrice{text-decoration:line-through;}

段落排版--缩进

中文文字中的段前习惯空两个文字的空白,这个特殊的样式可以用下面代码来实现:

p{text-indent:2em;}
<p>1922年的春天,一个想要成名名叫尼克卡拉威(托比?马奎尔Tobey Maguire 饰)的作家,离开了美国中西部,来到了纽约。那是一个道德感渐失,爵士乐流行,走私为王,股票飞涨的时代。为了追寻他的美国梦,他搬入纽约附近一海湾居住。</p>


注意:2em的意思就是文字的2倍大小。

段落排版--行间距

这一小节我们来学习一下另一个在段落排版中起重要作用的行间距属性(line-height),如下代码实现设置段落行间距为1.5倍。

p{line-height:1.5em;}
<p>菲茨杰拉德,二十世纪美国文学巨擘之一,兼具作家和编剧双重身份。他以诗人的敏感和戏剧家的想象为"爵士乐时代"吟唱华丽挽歌,其诗人和梦想家的气质亦为那个奢靡年代的不二注解。</p>

段落排版--字间距

如果想在网页排版中设置文字间隔或者字母间隔就可以使用    letter-spacing来实现,如下面代码:

letter-spacing:50px; <h1>了不起的盖茨比</h1>

段落排版--对齐

想为块状元素中的文本、图片设置居中样式吗?可以使用text-align样式代码,如下代码可实现文本居中显示。(那么什么是块状元素呢?在后面的11-1、11-2小节中会讲到。)

text-align:center; <h1>了不起的盖茨比</h1>

同样可以设置居左:

text-align:left; <h1>了不起的盖茨比</h1>

还可以设置居右:

text-align:right; <h1>了不起的盖茨比</h1>

在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型: 块状元素 内联元素 内联块状元素

常用的块状元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

常用的内联元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的内联块状元素有:

<img>、<input>

元素分类--块级元素

什么是块级元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置 display:block 就是将元素显示为块级元素。如下代码就是将 行内元素a 转换为 块状元素 ,从页使用a元素具有 块状元素 特点。

a{display:block;}

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

元素分类--行内元素

在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的 行内元素 (inline)元素。当然 块状元素 也可以通过代码 display:inline 将元素设置为 行内元素 。如下代码就是将 块状元素div 转换为 行内元素 ,从页使用div元素具有 行内元素 特点。

行内元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高及顶部和底部边距 不可 设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

元素分类--内联块状元素

内联块状元素( inline-block 就是同时具备内联元素、块状元素的特点,代码 display:inline-block 就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。

inline-block元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

提示:下一小节是用视频动画来讲解css中的盒模型。

盒模型--边框(一)

盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。

如下面代码为div来设置边框粗细为2px、样式为实心的、颜色为红色的边框:

border:2px solid red;

上面是border代码的缩写形式,可以分开写:

border-width:2px; border-style:solid; border-color:red;

1、border-style(边框样式)常见样式有:

dashed(虚线)| dotted(点线)| solid(实线)。


2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:

border-color:#888;//前面的井号不要忘掉。


3、border-width(边框宽度)中的宽度也可以设置为:

thin | medium | thick(但不是很常用),最常还是用象素(px)。

盒模型--边框(二)

现在有一个问题,如果有想为p标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css样式中允许只为一个方向的边框设置样式:

div{border-bottom:1px solid red;}

同样可以使用下面代码实现其它三边上、右、左边框的设置:

border-top:1px solid red;
border-right:1px solid red; 
border-left:1px solid red;

盒模型--宽度和高度

盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以外的内容范围,因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

元素的高度也是同理。

盒模型--边界

元素与其它元素之间的距离可以使用边界(margin)来设置。边界也是可分为上、右、下、左。如下代码:

div{margin:20px 10px 15px 30px;}

也可以分开写:

margin-top:20px; margin-right:10px; margin-bottom:15px; margin-left:30px;

如果上右下左的边界都为10px;可以这么写:

div{ margin:10px;}

如果上下边界一样为10px,左右一样为20px,可以这么写:

div{ margin:10px 20px;}

总结一下:padding和margin的区别, padding在边框里,margin在边框外。

盒模型--填充

元素内容与边框之间是可以设置距离的,称之为填充。填充也可分为上、右、下、左。如下代码:

div{padding:20px 10px15px 30px;}

顺序一定不要搞混。可以分开写上面代码:

padding-top:20px; padding-right:10px; padding-bottom:15px; padding-left:30px;

如果上、右、下、左的填充都为10px;可以这么写

div{padding:10px;}

如果上下填充一样为10px,左右一样为20px,可以这么写:

div{padding:10px 20px;}

css布局模型

清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就是末了,是外在的表现形式。
CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。
在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)

这三个布局模型究竟是什么布局?下面几个小节会详细给大家介绍。

流动模型(一)

先来说一说 流动模型 ,流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的 HTML 网页元素都是根据流动模型来分布网页内容的。

流动布局模型具有2个比较典型的特征:

第一点, 块状元素 都会在所处的 包含元素内 自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为 100% 。实际上,块状元素都会以行的形式占据位置。如右侧代码编辑器中三个块状元素标签(div,h1,p)宽度显示为100%。

流动模型(二)

第二点,在流动模型下, 内联元素 都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)

右侧代码编辑器中内联元素标签a、span、em、strong都是内联元素。

块状元素这么霸道都是独占一行,如果现在我们想让两个块状元素并排显示,怎么办呢?不要着急,设置元素浮动就可以实现这一愿望。任何元素在默认情况下是不能浮动的,但可以用CSS定义为浮动,如div、p、table、img等元素都可以被定义为浮动。如下代码可以实现两个div元素一行显示。

width:200px; height:200px; border:2px red solid; float:left; <div id="div1"></div> <div id="div2"></div>

当然你也可以同时设置两个元素右浮动也可以实现一行显示。

width:200px; height:200px; border:2px red solid; float:right;

又有小伙伴问了,设置两个元素一左一右可以实现一行显示吗?当然可以:

width:200px; height:200px; border:2px red solid; #div1{ float:left; } #div2{ float:right; }

但一定注意,设置浮动的同时一定要先设置块状元素的宽度,且需要浮动的几个元素宽度加起来一定要小于容器元素的宽度。

什么是层模型?

什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。下面我们来学习一下html中的层布局。

如何让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确定位操作。CSS定义了一组定位(positioning)属性来支持层布局模型。

层模型有三种形式:

1、 绝对定位 (position: absolute)

2、 相对定位 (position: relative)

3、 固定定位 (position: fixed)

层模型--绝对定位

如果想为元素设置层模型中的绝对定位,需要设置 position:absolute (表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其 最接近的一个具有定位属性的父包含块 进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于 浏览器窗口

如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。

width:200px; height:200px; border:2px red solid; left:100px; top:50px; <div id="div1"></div>

效果如下:

层模型--相对定位

如果想为元素设置层模型中的相对定位,需要设置 position:relative (表示相对定位),它通过left、right、top、bottom属性确定元素在 正常文档流中 的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于 以前的位置移动, 移动的方向和幅度由 left、right、top、bottom 属性确定, 偏移前的位置保留不动

如下代码实现相对于以前位置向下移动50px,向右移动100px;

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
<div id="div1"></div>

什么叫做“ 偏移前的位置保留不动 ”呢?

大家可以做一个实验,在右侧代码编辑器的19行div标签的后面加入一个span标签,在标并在span标签中写入一些文字。如下代码:

<div id="div1"></div> <span> 偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置 </span> </body>

从效果图中可以明显的看出,虽然div元素相对于以前的位置产生了偏移,但是div元素以前的位置还是保留着,所以后面的span元素是显示在了div元素以前位置的后面。

层模型--固定定位

fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图( 屏幕内的网页窗口 )本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。以下代码可以实现相对于 浏览器视图 向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    left:100px;
    top:50px;
<p>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本。</p>
    

Relative与Absolute组合使用

小伙伴们学习了12-6小节的相对定位的方法:使用position:absolute可以实现被设置元素相对于浏览器(body)设置定位以后,大家有没有想过可不可以相对于其它元素进行定位呢?答案是肯定的,当然可以。使用position:relative来帮忙,但是必须遵守下面规范:

1、参照定位的元素必须是相对定位元素的前辈元素:

<div id="box1"><!--参照定位的元素-->
    <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
      

从上面代码可以看出box1是box2的父元素(父元素当然也是前辈元素了)。

2、参照定位的元素必须加入position:relative;

#box1{
    width:200px;
    height:200px;
    position:relative;        
      

3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

#box2{
    
    top:20px;
    left:30px;         
      

这样box2就可以相对于父元素box1定位了(这里注意参照物就可以不是浏览器了,而可以自由设置了)。
 

盒模型代码简写

还记得在讲盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。具体应用在margin和padding的例子如下:

margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/

通常有下面三种缩写方法:

1、如果top、right、bottom、left的值相同,如下面代码:

margin:10px 10px 10px 10px;

可缩写为:

margin:10px;

2、如果top和bottom值相同、left和 right的值相同,如下面代码:

margin:10px 20px 10px 20px;

可缩写为:

margin:10px 20px;

3、如果left和right的值相同,如下面代码:

margin:10px 20px 30px 20px;

可缩写为:

margin:10px 20px 30px;

注意:padding、border的缩写方法和margin是一致的。

颜色值缩写

关于颜色的css样式也是可以缩写的,当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。

p{color:#000000;}

可以缩写为:

p{color: #000;}
p{color: #336699;}

可以缩写为:

p{color: #369;}

网页中的字体css样式代码也有他自己的缩写方式,下面是给网页设置字体的代码:

body{
    font-style:italic;
    font-variant:small-caps; 
    font-weight:bold; 
    font-size:1em; 
    line-height:140%; 
    font-family:"宋体",sans-serif;
      

这么多行的代码其实可以缩写为一句:

body{
    font:italic  small-caps  bold  1em/140%  "Lucida Grande",sans-serif;
      

注意:使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight,font-style,font-varient)如未指定将自动使用默认值

为你的网页中添加一些空格在上一节的例子,我们已经讲解过在html代码中输入空格、回车都是没有作用的。要想输入空格,必须写入&nbsp;。语法:&nbsp;在html代码中输入空格是不起作用的,如下代码。在浏览中显示,还是没有空格效果。输入空格的正确方法:在浏览器中的显示出来的空格效果。如下图所示。
一个简单的粒子群源程序,简单易懂,对初学者很有帮助,部分源代码如下:c1=2; %学习因子1 c2=2; %学习因子2 w=0.7298; %惯性权重 MaxDT=1000; %最大迭代次数 D=29; %搜索空间维数(未知数个数) N=40; %初始化群体个体数目 。。。。disp('*************************************************************') disp('函数的全局最优位置为:') Solution=pg' disp('最后得到的优化极值为:') Result=fitness(pg,D) disp('*************************************************************')
在这一章节我们要开始把网页常用到的标签一 一向大家介绍,学习这一章节的时候要记住学习html标签过程,主要注意两个方面的学习:标签的用途、标签在浏览器的默认样式。 标签的用途:我们学习网页制作时,常常会听到一个词,语义化。那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下使用此标签合理)比如,... 缩写边框属性设置在一个声明所有的边框属性。 可以设置的属性分别(按顺序):border-width,border-style,border-color。(即边框的宽度、边框的样式、边框的颜色) 如果上述值缺少一个没有关系,例如border:#FF0000;是允许的。 1.1 border属性 border-width 指定边框的宽度 border-styl.
JS基础1、javascript的typeof返回哪些数据型 string number array object function Boolean undefined 数组(Array)、日期对象(Date)、正则(RegExp)、 Math =>object 考点:使用typeof检测数据型 扩展:如何检测数组型? Array.isArray(); 浏览器兼容性:IE9+...
1.vueMVVM的理解M:模型(Model):数据模型;负责数据存储。泛指后端进行的各种业务逻辑处理和数据操控,主要围绕数据库系统展开。 V:View 视图: 负责页面展示,也就是用户界面。主要由 HTMLCSS 来构建 VM:视图模型(View-Model): 负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示 通过vue创建的对象叫Vue实例化对象,这个对象就是MVVM模式的VM层,模型通过它可以将数据绑定到页面上,视图可以通过它将数据映射到模型上优点 1.低耦合。视图(
html css 内联样式You’ve written some HTML and now need to style it with CSS. One way is to use inline styles, which is what this article is about. 您已经编写了一些HTML,现在需要使用CSS对其进行样式设置。 一种方法是使用内联样式,这就是本文的目的。
如果你想使用 JavaScript 制作一个模拟时钟,那么本文将对你有所帮助。我们都知道时钟有两种,一种是模拟的,一种是数字的。虽然数字时钟被广泛使用,但模拟时钟也被很多人所喜爱。 ????使用 HTMLCSS 和 JavaScript 的简单模拟时钟???? JavaScript 模拟时钟 [现场演示]???? 使用 HTMLCSS 和 JavaScript 的简单模拟时钟???? 第 1 步:创建时钟的基本结构???? 第 2 步:在时钟上标记 1 到 12???? 第 3 步:制作三只指针来指示
const scrollContainer = document.querySelector('.scroll-container'); const scrollBtn = document.querySelector('.scroll-btn'); scrollBtn.addEventListener('click', () => { scrollContainer.scrollLeft += 50; 该代码实现了一个简单的横向滚动抽奖功能。当用户点击 "开始抽奖" 按钮时,滚动容器会向右滚动 50 像素。可以通过调整 `scrollLeft` 的值来调整滚动的速度和距离。