【web前端开发】第三周 HTML页面元素和盒子模型

一、列表元素

1、ul元素

无序列表是网页中最常用的列表,之所以称为“无序列表”,是因为其各个列表项之间没有顺序级别之分,通常是并列的。定义无序列表的基本语法格式如下

<ul>

    <li>列表项1</li>

    <li>列表项2</li>

    <li>列表项3</li>

......

</ul>

2、ol元素

有序列表即为有排列顺序的列表,其各个列表项按照一定的顺序排列,例如网页中常见的歌曲排行榜、游戏排行榜等都可以通过有序列表来定义。定义有序列表的基本语法格式如下:

<ol>

    <li>列表项1</li>

    <li>列表项2</li>

    <li>列表项3</li>

......

</ol>

3、dl元素

定义列表常用于对术语或名词进行解释和描述,与无序和有序列表不同,定义列表的列表项前没有任何项目符号。其基本语法如下:

<dl>

<dt>名词1</dt>

    <dd>名词1解释1</dd>

    <dd>名词1解释2</dd>

    ...

    <dt>名词2</dt>

    <dd>名词2解释1</dd>

    <dd>名词2解释2</dd>

    ...

</dl>

4、列表的嵌套应用

在网上购物商城中浏览商品时,经常会看到某一类商品被分为若干小类,这些小类通常还包含若干的子类。同样,在使用列表时,列表项中也有可能包含若干子列表项,要想在列表项中定义子列表项就需要将列表进行嵌套。

二、结构元素

1、header元素

HTML5中的header元素是一种具有引导和导航作用的结构元素,该元素可以包含所有通常放在页面头部的内容。其基本语法格式如下:

<header>

   <h1>网页主题</h1>

  ..

</header>

2、nav元素

nav元素用于定义导航链接,是HTML5新增的元素,该元素可以将具有导航性质的链接归纳在一个区域中,使页面元素的语义更加明确。例如下面这段示例代码:

<nav>

    <ul>

  <li><a href="#">首页</li>

  <li><a href="#">公司概况</li>

  <li><a href="#">产品展示</li>

  <li><a href="#">联系我们</li>

   </ul>

</nav>

3、article元素

article元素代表文档、页面或者应用程序中与上下文不相关的独立部分,该元素经常被用于定义一篇日志、一条新闻或用户评论等。article元素通常使用多个section元素进行划分,一个页面中article元素可以出现多次。

4、aside元素

        aside元素用来定义当前页面或者文章的附属信息部分,它可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条等其他类似的有别于主要内容的部分。

     aside元素的用法主要分为两种:

•被包含在article元素内作为主要内容的附属信息。•在article元素之外使用,作为页面或站点全局的附属信息部分。

5、section元素

section元素用于对网站或应用程序中页面上的内容进行分块,一个section元素通常由内容和标题组成。在使用section元素时,需要注意以下3点:

•不要将section元素用作设置样式的页面容器,那是div的特性。section元素并非一个普通的容器元素,当一个容器需要被直接定义样式或通过脚本定义行为时,推荐使用div。

•如果article元素、aside元素或nav元素更符合使用条件,那么不要使用section元素。

•没有标题的内容区块不要使用section元素定义。

6、footer元素

footer元素用于定义一个页面或者区域的底部,它可以包含所有通常放在页面底部的内容。在HTML5出现之前,一般使用<div id=“footer”></div>标记来定义页面底部,而通过HTML5的footer元素可以轻松实现。

三、分组元素

1、figure和figcaption元素

figure元素用于定义独立的流内容(图像、图表、照片、代码等等),一般指一个单独的单元。figure元素的内容应该与主内容相关,但如果被删除,也不会对文档流产生影响。figcaption元素用于为figure元素组添加标题,一个figure元素内最多允许使用一个figcaption元素,该元素应该放在figure元素的第一个或者最后一个子元素的位置。

2、hgroup元素

hgroup元素用于将多个标题(主标题和副标题或者子标题)组成一个标题组,通常它与h1~h6元素组合使用。通常,将hgroup元素放在header元素中。

 在使用hgroup元素时要注意以下几点:

•如果只有一个标题元素不建议使用hgroup元素。•当出现一个或者一个以上的标题与元素时,推荐使用hgroup元素作为标题元素。•当一个标题包含副标题、section或者article元素时,建议将hgroup元素和标题相关元素存放到header元素容器中。

四、页面交互元素

1、details和summary元素

details元素用于描述文档或文档某个部分的细节。summary元素经常与details 元素配合使用,作为details 元素的第一个子元素,用于为details定义标题。标题是可见的,当用户点击标题时,会显示或隐藏details中的其他内容。

2、progress元素 

progress元素用于表示一个任务的完成进度。这个进度可以是不确定的,只是表示进度正在进行,但是不清楚还有多少工作量没有完成。

progress元素的常用属性值有两个,具体如下。

•value:已经完成的工作量。

•max:总共有多少工作量。

3、meter元素

meter元素用于表示指定范围内的数值。例如,显示硬盘容量或者对某个后选者的投票人数占投票总人数的比例等,都可以使用meter元素。

        meter元素有多个常用的属性,如下表所示

 

属性

 

说明

 

high

 

定义度量的值位于哪个点被界定为高的值。

 

low

 

定义度量的值位于哪个点被界定为低的值。

 

max

 

定义最大值,默认值是  1。

 

min

 

定义最小值,默认值是  0。

 

optimum

 

定义什么样的度量值是最佳的值。如果该值高于  high属性,则意味着值越高越好。如果该值低于low属性的值,则意味着值越低越好。

 

value

 

定义度量的值。

五、文本层次语义元素

1、time元素

time元素用于定义时间或日期,可以代表24小时中的某一时间。

time元素有两个属性:

•datetime:用于定义相应的时间或日期。取值为具体时间(例如:14:00)或具体日期(例如2015—09—01),不定义该属性时,由元素的内容给定日期 / 时间。

•pubdate:用于定义time元素中的日期/时间是文档(或article元素)的发布日期。取值一般为“pubdate”。

2、mark元素

mark元素的主要功能是在文本中高亮显示某些字符,以引起用户注意。该元素的用法与em和strong有相似之处,但是使用mark元素在突出显示样式时更随意灵活。

3、cite元素

cite元素可以创建一个引用标记,用于对文档参考文献的引用说明,一旦在文档中使用了该标记,被标记的文档内容将以斜体的样式展示在页面中,以区别于段落中的其他字符。

六、全局属性

1、draggable属性

    draggable属性用来定义元素是否可以拖动,该属性有两个值:true和false,默认为false,当值为true时表示元素选中之后可以进行拖动操作,否则不能拖动。

2、hidden属性

在HTML5中,大多数元素都支持hidden属性,该属性有两个属性值:true和false。当hidden属性取值为true时,元素将会被隐藏,反之则会显示。元素中的内容是通过浏览器创建的,页面装载后允许使用JavaScript脚本将该属性取消,取消后该元素变为可见状态,同时元素中的内容也及时显示出来。

3、spellcheck属性

spellcheck属性主要针对于input元素和textarea文本输入框,对用户输入的文本内容进行拼写和语法检查。spellcheck属性有两个值:true(默认值)和false,值为true时检测输入框中的值,反之不检测。

4、contenteditable属性

contenteditable属性规定是否可编辑元素的内容,但是前提是该元素必须可以获得鼠标焦点并且其内容不是只读的。该属性有两个值,如果为true表示可编辑,为false表示不可编辑。

七、盒子模型

1、认识盒子模型

所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。

2、<div>标记

div是英文division的缩写,意为“分割、区域”。<div>标记简单而言就是一个区块容器标记,可以将网页分割为独立的、不同的部分,以实现网页的规划和布局。<div>与</div>之间相当于一个容器,可以容纳段落、标题、图像等各种网页元素,也就是说大多数HTML标记都可以嵌套在<div>标记中,<div>中还可以嵌套多层<div>。

<div>标记非常强大,通过与id、class等属性配合,然后使用CSS设置样式,来替代大多数的文本标记。

3、盒子的宽与高

网页是由多个盒子排列而成的,每个盒子都有固定的大小,在CSS中使用宽度属性width和高度属性height可以对盒子的大小进行控制。width和height的属性值可以为不同单位的数值或相对于父元素的百分比,实际工作中最常用的是像素值。

注意:

宽度属性width和高度属性height仅适用于块级元素,对行内元素无效(<img />标记和<input />除外)。

4、边框属性                  

 

设置内容

 

样式属性

 

常用属性值

 

边框样式

 

border-style:上边 [右边 下边 左边];

 

none无(默认)、solid单实线、dashed虚线、dotted点线、double双实线

 

边框宽度

 

border-width:上边 [右边 下边 左边];

 

像素值

 

边框颜色

 

border-color:上边 [右边 下边 左边];

 

颜色值、#十六进制、rgb(r,g,b)、rgb(r%,g%,b%)

 

综合设置边框

 

border:四边宽度 四边样式 四边颜色;

 

圆角边框

 

border-radius:水平半径参数/垂直半径参数;

 

像素值或百分比

 

图片边框

 

border-images:图片路径 裁切方式/边框宽度/边框扩展距离 重复方式;

(1)边框样式(border-style)

在CSS属性中,border-style属性用于设置边框样式。其基本语法格式如下:

border-style: 上边 [右边 下边 左边];

border-style属性的常用属性值有四个,分别用于定义不同的显示样式,具体如下。

•    solid:边框为单实线

•    dashed:边框为虚线

•    dotted:边框为点线

•    double:边框为双实线

(2)边框宽度(border-width)

border-width属性用于设置边框的宽度,其基本语法格式如下:

border-width:上边 [右边 下边 左边];

•   在上面的语法格式中,border-width属性常用取值单位为像素px。并且同样遵循值复制的原则,其属性值可以设置1~4个,即一个值为四边,两个值为上下/左右,三个值为上/左右/下,四个值为上/右/下/左。

(3)边框颜色(border-color)

border-color属性用于设置边框的颜色,其基本语法格式如下:

border-color:上边 [右边 下边 左边];

CSS3在原边框颜色属性(border-color)的基础上派生了4个边框颜色属性。

•    border-top-colors

•    border-right-colors

•    border-bottom-colors

•    border-left-colors

(4)综合设置边框

使用border-style、border-width、border-color虽然可以实现丰富的边框效果,但是这种方式书写的代码繁琐,且不便于阅读,为此CSS提供了更简单的边框设置方式,其基本格式如下:

border:宽度 样式 颜色;

(5)圆角边框

在网页设计中,经常需要设置圆角边框,运用CSS3中的border-radius属性可以将矩形边框圆角化,其基本语法格式如下:

border-radius:参数1/参数2

其中“参数1”表示圆角的水平半径,“参数2”表示圆角的垂直半径,两个参数之间用“/”隔开。

(6)图片边框

border-image属性是一个简写属性,用于设置border-image-source、border-image-slice、 border-image-width、border-image-outset以及border-image-repeat等属性,其基本语法格式如下:

border-image:border-image-source

border-image-slice

border-image-width

border-image-outset

border-image-repeat;

对各属性的说明如下表所示:

 

属性

 

说明

 

border-image-source

 

指定图片的路径

 

border-image-slice

 

指定边框图像顶部、右侧、底部、左侧内偏移量。

 

border-image-width

 

指定边框宽度

 

border-image-outset

 

指定边框背景向盒子外部延伸的距离。

 

border-image-repeat

 

指定背景图片的平铺方式

5、边距属性

(1)内边距

在CSS中padding属性用于设置内边距,同边框属性border一样,padding也是复合属性,其相关设置方法如下:

•    padding-top:上内边距;

•    padding-right:右内边距;

•    padding-bottom:下内边距;

•    padding-left:左内边距;

•    padding:上内边距 [右内边距下内边距 左内边距];

(2)外边距

在CSS中margin属性用于设置外边距,它是一个复合属性,与内边距padding的用法类似,设置外边距的方法如下。

•    margin-top:上外边距;

•    margin-right:右外边距;

•    margin-bottom:下外边距;

•    margin-left:左外边距;

•    margin:上外边距 [右外边距下外边距 左外边距];

6、box-shadow属性

在网页制作中,经常需要对盒子添加阴影效果。CSS3中的box-shadow属性可以轻松实现阴影的添加,其基本语法格式如下:

box-shadow:像素值1像素值2像素值3像素值4 颜色值 阴影类型;

在上面的语法格式中,box-shadow属性共包含6个参数值,对它们的具体解释如下表所示。

 

参数值

 

说明

 

像素值1

 

表示元素水平阴影位置,可以为负值(必选属性)。

 

像素值2

 

表示元素垂直阴影位置,可以为负值(必选属性)。

 

像素值3

 

阴影模糊半径(可选属性)。

 

像素值4

 

阴影扩展半径,不能为负值(可选属性)。

 

颜色值

 

阴影颜色(可选属性)。

 

阴影类型

 

内阴影(inset)/外阴影(默认)(可选属性)。

7、box-sizing属性

box-sizing属性用于定义盒子的宽度值和高度值是否包含元素的内边距和边框,其基本语法格式如下。

box-sizing:content-box/border-box;

在上面的语法格式中,box-sizing属性的取值可以为content-box或border-box,对它们的解释如下。

•    content-box:浏览器对盒模型的解释遵从W3C 标准,当定义width和height时,它的参数值不包括border和padding。

•    border-box:当定义width和height时,border和padding的参数值被包含在width和height之内。

8、设置背景颜色

在CSS中,使用background-color属性来设置网页元素的背景颜色,其属性值与文本颜色的取值一样,可使用预定义的颜色值、十六进制#RRGGBB或RGB代码rgb(r,g,b)。background-color的默认值为transparent,即背景透明,此时子元素会显示其父元素的背景。

9、设置背景图像

背景不仅可以设置为某种颜色,还可以将图像作为元素的背景。在CSS中通过background-image属性设置背景图像。

10、背景与图片不透明度的设置

(1)RGBA模式

RGBA是CSS3新增的颜色模式,它是RGB颜色模式的延伸,该模式是在红、绿、蓝三原色的基础上添加了不透明度参数。其语法格式如下:

rgba(r,g,b,alpha);

(2)opacity属性

在CSS3中,使用opacity属性能够使任何元素呈现出透明效果。其语法格式如下:

opacity:opacityValue;

11、设置背景图像平铺

默认情况下,背景图像会自动沿着水平和竖直两个方向平铺,如果不希望图像平铺,或者只沿着一个方向平铺,可以通过background-repeat属性来控制,该属性的取值如下:

•repeat:沿水平和竖直两个方向平铺(默认值)

•no-repeat:不平铺(图像位于元素的左上角,只显示一个)

•repeat-x:只沿水平方向平铺

•repeat-y:只沿竖直方向平铺

12、设置背景图像的位置

如果将背景图像的平铺属性background-repeat定义为no-repeat,图像将默认以元素的左上角为基准点显示。

13、设置背景图像固定

如果希望背景图像固定在屏幕的某一位置,不随着滚动条移动,可以使用background-attachment属性来设置。background-attachment属性有两个属性值,分别代表不同的含义,具体解释如下:

•scroll:图像随页面元素一起滚动(默认值)

•fixed:图像固定在屏幕上,不随页面元素滚动。

18、设置背景图像的大小

在CSS3中,background-size属性用于控制背景图像的大小,其基本语法格式如下:

background-size:属性值1 属性值2;                   

 

属性值

 

说 明

 

像素值

 

设置背景图像的高度和宽度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会默认为auto;

 

百分比

 

以父元素的百分比来设置背景图像的宽度和高度。第一个值设置宽度,第二个值设置高度。如果只设置一个值,则第二个值会默认为auto;

 

cover

 

把背景图像扩展至足够大,使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中;

 

contain

 

把图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域;

19、设置背景的显示区域

在默认情况下,background-position属性总是以元素左上角为坐标原点定位背景图像,运用CSS3中的background-origin 属性可以改变这种定位方式,自行定义背景图像的相对位置,其基本语法格式如下:

background-origin:属性值;

在上面的语法格式中,background-origin属性有三种取值,分别表示不同的含义,具体解释如下。

•padding-box:背景图像相对于内边距区域来定位。

•border-box:背景图像相对于边框来定位。

•content-box:背景图像相对于内容框来定位。

20、设置背景图像的剪裁区域

在CSS样式中,background-clip属性用于定义背景图像的裁剪区域,其基本语法格式如下:

background-clip:属性值;

在语法格式上,background-clip属性和background-origin 属性的取值相似,但含义不同,具体解释如下。

•border-box:默认值,从边框区域向外裁剪背景。

•padding-box:从内边距区域向外裁剪背景。

•content-box:从内容区域向外裁剪背景。

21、设置多重背景图像

CSS3中增强了背景图像的功能,允许一个容器里显示多个背景图像,使背景图像效果更容易控制。但是CSS3中并没有为实现多背景图片提供对应的属性,而是通过background-image、background-repeat、background-position和background-size等属性提供多个属性值来实现多重背景图像效果,各属性值之间用逗号隔开。

22、背景复合属性

同边框属性一样,在CSS中背景属性也是一个复合属性,可以将背景相关的样式都综合定义在一个复合属性background中。使用background属性综合设置背景样式的语法格式如下:

background:[background-color] [background-image] [background-repeat] [background-attachment] [background-position] [background-size] [background-clip] [background-origin];

多学一招:使用背景图像属性定义列表样式

list-style是一个复合属性,用于控制列表项目符号的样式。在实际网页制作过程中,为了更高效地控制列表项目符号,通常将list-style的属性值定义为none,然后通过为<li>设置背景图像的方式实现不同的列表项目符号。

23、CSS3渐变属性

(1)线性渐变

在线性渐变过程中,起始颜色会沿着一条直线按顺序过渡到结束颜色。运用CSS3中的“background-image:linear-gradient(参数值);”样式可以实现线性渐变效果,其基本语法格式如下:

background-image:linear-gradient(渐变角度,颜色值1,颜色值2...,颜色值n);

下面通过一个案例对线性渐变的用法和效果进行演示

 <!doctype html>
  <html>

   <head>

  <meta charset="utf-8">

   <title>线性渐变</title>

   <styletype="text/css">

 div{

    width:200px;
    height:200px;

    background-image:linear-gradient(30deg,#0f0,#00F);

     }
 </style>

</head>

 <body>

 <div></div>

 </body>

  </html>

在例5-22中,为div定义了一个渐变角度为30deg、绿色(#0f0)到蓝色(#00f)的线性渐变。

运行例5-22,效果如图5-45所示。

在图5-45中,实现了绿色到蓝色的线性渐变。值得一提的是,在每一个颜色值后面还可以书写一个百分比数值,用于标示颜色渐变的位置例如下面的示例代码:

background-image:linear-gradient(30deg,#0f0 50%,#00F 80%);

在上面的示例代码中,可以看做绿色(#0f0)由50%的位置开始出现渐变至蓝色(#00f)位于80%的位置结束渐变。可以用Photoshop中的渐变色块进行类比,如图5-46所示。

(2)径向渐变

在线性渐变过程中,起始颜色会沿着一条直线按顺序过渡到结束颜色。运用CSS3中的“background-image:linear-gradient(参数值);”样式可以实现线性渐变效果,其基本语法格式如下:

background-image:linear-gradient(渐变角度,颜色值1,颜色值2...,颜色值n);


   <!doctype html>

   <html>

   <head>

   <meta charset="utf-8">

   <title>径向渐变</title>

   <styletype="text/css">

   div{

      width:200px;

       height:200px;

      border-radius:50%;      /*设置圆角边框*/

    background-image:radial-gradient(ellipse at center,#0f0,#030); /*设置径向渐变*/

    }

  </style>

  </head>

  <body>

  <div></div>

  </body>

  </html>

在例5-23中,为div定义了一个渐变形状为椭圆形,径向渐变位置在容器中心点,绿色(##0f0)到深绿色(##030)的径向渐变;同时使用“border-radius”属性将容器的边框设置为圆角。

运行例5-23,效果如图5-48所示。

(3)重复渐变

a.重复线性渐变

在CSS3中,通过“background-image:repeating-linear-gradient(参数值);”样式可以实现重复线性渐变的效果,其基本语法格式如下:

background-image:repeating-linear-gradient(渐变角度,颜色值1,颜色值2...,颜色值n);

b.重复径向渐变

在CSS3中,通过“background-image:repeating-radial-gradient(参数值);”样式可以实现重复线性渐变的效果,其基本语法格式如下:

background-image:repeating-radial-gradient(渐变形状圆心位置,颜色值1,颜色值2...,颜色值n);

24、超链接样式设计

超链接标记<a>的伪类有4种,具体如下表所示。        

 

超链接标记<a>的伪类

 

含义

 

a:link{ CSS样式规则;  }

 

未访问时超链接的状态

 

a:visited{ CSS样式规则;  }

 

访问后超链接的状态

 

a:hover{ CSS样式规则;  }

 

鼠标经过、悬停时超链接的状态

 

a: active{ CSS样式规则;  }

 

鼠标点击不动时超链接的状态

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值