网页制作中的CSS+DIV:dl,dt,dd分别表示什么意思?

html-css07

网页制作中的CSS+DIV:dl,dt,dd分别表示什么意思?,第1张

<dl>标记定义了一个定义列表,定义列表中的条目是通过使用<dt>标记(“definition title”,定义标题)和<dd>标记(“definition description”,定义描述)创建的。<dt>给出了术语名,<dd>标记给出了术语的定义。

也就是说<dt>用来创建列表中的上层项目,<dd>用来创建列表中最下层项目,<dt>和<dd>都必须放在<dl></dl>标志对之间。

<dl>

<dt>我们在做列表标题</dt>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

<dd>我们在做列表</dd>

</dl>

HTML 列表中的dl,dt,dd,ul,li,ol区别及应用

1、无序列表

无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记。

无序列表始于 <ul>标签。每个列表项始于 <li>。

2、有序列表

同样,有序列表也是一列项目,列表项目使用数字进行标记。

有序列表始于 <ol>标签。每个列表项始于 <li>标签。

3、定义列表

自定义列表不仅仅是一列项目,而是项目及其注释的组合。

自定义列表以 <dl>标签开始。每个自定义列表项以 <dt>开始。每个自定义列表项的定义以 <dd>开始。

4、不同类型的有序列表

本例演示不同类型的有序列表。

5、这就是我们常用到的HTML列表标签

以上所有的列表项内部可以使用段落、换行符、图片、链接以及其他列表等

方法之一如下:

图片及图片说明.html    文件代码如下:

<!doctype html>

<html lang="zh">

  <head>

    <meta charset="utf-8">

    <title>图片及图片说明</title>

    <link href="20130920img.css" rel="stylesheet">

  </head>

  <body>

      <dl>

     <li><p class="marginright"><img class="img" src="1.jpg" alt="这是一张关于X1的图片">图片一</p></li>

     <li><p class="marginright"><img class="img" src="2.jpg" alt="这是一张关于X2的图片">图片二</p></li>

     <li><p class="marginright"><img class="img" src="3.jpg" alt="这是一张关于X3的图片">图片三</p></li>

     <li><p><img class="img" src="4.jpg" alt="这是一张关于X4的图片">图片四</p></li>

     <li><p class="marginright"><img class="img" src="5.jpg" alt="这是一张关于X5的图片">图片五</p></li>

     <li><p class="marginright"><img class="img" src="6.jpg" alt="这是一张关于X6的图片">图片六</p></li>

     <li><p class="marginright"><img class="img" src="7.jpg" alt="这是一张关于X7的图片">图片七</p></li>

     <li><p><img class="img" src="8.jpg" alt="这是一张关于X8的图片">图片八</p></li>

      </dl>

  </body>

</html>

img.css    文件代码如下:

body {

background: #fff

margin: 0 auto

}

dl {

    margin: 0 24px

    padding: 10px

    width: 920px          /*  这是关键行,控制列表总宽度  */

}

dl li {

    list-style-type: none  /*  去掉列表前的点  */

    display: inline        /*  这是关键行,使列表变成内联  */

    float: left            /*  这是关键行,使内联的列表元素全部左浮动  */

}

dl li p .img {

    width: 200px         /*  这是关键行,控制图片宽度  */

    height: 200px

    display: block       /*  这是关键行,把内联图片变成块级盒模型  */

    margin-bottom: 5px   /*  为块级盒模型图片添加5px下外边距  */

}

dl li p {

    text-align: center   /*  这是关键行,控制文字居中  */

}

dl li p.marginright {

    margin-right: 40px    /*  这是关键行,控制1 2 3  5 6 7图片右外边距宽度  */

    text-align: center

}

你的问题困难在于HTML中为 <dl/>列表 中的 <li/>添加合适的标签<p/>把<li/>中的<img/>和文字包裹起来。这样HTML就足够结构化。

CSS中,主要解决三个问题。

1. 控制好<dl/>列表的总宽度,及各幅图片的宽度,图片1 2 3 5 6 7的右外边距,就会自动换行。

 1.1<dl/>左右外边距24px ,边框默认为0 , 内边距10px,宽920px,总宽988px;

 1.2图片1 2 3 4每幅图片宽200px(高200px), 包含图片1 2 3的<p/>每个外右边距是40px,第一      行总宽920px,<dl/>的总宽920px,所以到这里放不下图片,会自动换行。

 1.3图片5 6 7 8每幅图片宽200px(高200px), 包含图片5 6 7的<p/>每个外右边距是40px,第二       行总宽920px,<dl/>的总宽920px,这是第二行。

2. 用 display:inline使<dl/><li/>变成内联显示,再加上 float:left所有的<li/>就浮动起来成为一行,但是因为以上1,我们控制了宽度,使得内联的<li/>到了固定宽度就换行。

3. 再用display:block把包含“<img/>文字”的<p/>变成块级盒模型,那么文字就会显示在图片的下方,再给<p/>加上 text-align:center文字就居中了。