Div span 标签详解

<div>divsion)简单而言是一个取款容器标记,也就是说<div></div>之间是一个容器,可以容纳段落,标题,表格,图片,章节,摘要和备注等各种HTML元素。因此,可以把<div></div>中的内容视为一个独立的对象,用于CSS的控制。声明时只要对<div>进行相应的控制,其中的各标签元素都会因此而改变。

<Span>标记和<div>标记一样,作为容器标记而被广泛用于HTML语言中。

<div><span>区别

区别在于,<div>是一个块级(block-level)元素,它包围的元素会自动换行。而<span>仅仅是一个行内元素(inline element),在它的前后不会换行。<span>没有结构上的意义,纯粹是应用样式,当其他行内元素都不合适时,就可以使用<span>元素。

需要注意的是,<span>标记可以包含于<div>标记之中,成为他的子元素,而反过来则不成立,即<span>标记不能包含<div>标记。

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<body>

<p>div标记不同行</p>

<div><img src="0550372.gif" border="0"/></div>

<div><img src="0550372.gif" border="0"/></div>

<div><img src="0550372.gif" border="0"/></div>

<p>span标记在同一行</p>

<span><img src="0550372.gif" border="0" /></span>

<span><img src="0550372.gif" border="0" /></span>

<span><img src="0550372.gif" border="0" /></span>

</body>

</html>

显示浏览器上的效果

 

Div span 标签详解 - 蓝色花絮 - 坚韧,才是我

 

盒子模型

所有页面中的元素都可以看成是一个盒子,占据着一定的页面空间。

一个盒子模型由content(内容),border(边框),padding(间隙)和margin(间隔)这4个部分组成。如图

               margin-top

            Border-top

        Padding-top

 

       content

一个盒子的实际宽度(或高度)是由conetnt+padding+border+margin组成的。在CSS中可以通过设定widthheight的值来控制content的大小,并且对于任何一个盒子,都可以分别设定4条边个子的borderpaddingmargin

1Border一般用于分离元素,border的外围即为元素的最外围,因此计算元素实际的宽和高时,就要将border纳入。注意:在两种浏览器中的执行结果,可以看出IE并没有对border的背景上色,而firefox的作用域为content+padding+border

2padding用于控制contentborder之间的距离

当某些时候需要同时设置4个方向的padding值时,可以将4个语句合并到一起,用padding语句统一书写。Padding:   ;

3margin指的是元素与元素之间的距离。

从直观上而言,margin用于控制块与块之间的距离。倘若将盒子模型比作展览馆里展出的一幅幅画,那么content就是图画本身,padding就是画面与画框之间的留白,border就是画框,而margin就是画与画之间的距离。

特别说明:当两个行内元素紧邻的时候,他们之间的距离为第1个元素的margin-right加上第2个元素的margin-left。但倘若不是行内元素,而是产生换行效果的块级元素,情况就会变得有一些不同。两个块级元素之间的距离不再是margin-bottommargin-top的和,而是两者中的较大者。

除了上面提到的行内元素间隔和块级元素间隔这两种关系外,还有一种位置关系,他的margin值对CSS排版也有重要的作用,这就是父子关系。其中子块的margin将以父块的content为参考

另外需要指出,IEFirefoxmargin的细节处理上又有区别。设定的父div的高度值小于子块的高度加上margin的值,此时IE浏览器会自动扩大,保持子元素的margin-bottom的空间以及父元素自身的padding-bottom。而Firefox就不会,它会保证元素的height高度的完全吻合,而这时子元素将超过父元素的范围,如图所示

 

Div span 标签详解 - 蓝色花絮 - 坚韧,才是我                 Div span 标签详解 - 蓝色花絮 - 坚韧,才是我
 
 

 

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>js</title>

<style type="text/css">

div.father{

background-color:#fffebb;

text-align:center;

font-family:Arial, Helvetica, sans-serif;

font-size:12px;

padding:10px;

border:1px solid #000000;

height:40px;

}

div.son{

background-color:#a2d2ff;

margin-top:10px;

margin-bottom:0px;

padding:15px;

border:1px dashed #004993;

}

</style>

</head>

 

<body>

<div class="father">

<div class="son">div</div>

</div>

</body>

</html>

以上提及的是margin值都为正数的时候。其实margin的值为负数的应用也很多。这里不再举例了

元素的定位

围绕CSS定位的集中原理方法,进行介绍,包括positionfloatz-index。这里的定位不是<table>进行排版,而是用CSS的方法对页面的块元素的定位

1,  float定位

注:在CSS中可以通过设置快元素的clear属性,清除对float的影响。

2,  position定位

postion属性一共有4个值,分别为staticabsoluterelativefixed

(1)       static为默认值,它表示块保持在原本应该在的位置上,即改值没有任何移动的效果。

(2)       当子块的postion值设为absolute时,子块已经不再从属于父块。

注:toprightbottomleft4css属性,他们都是配合position属性使用的,不但可以设置为绝对像素,也可以设置为表分数,表示块的各个边界离页面边框(postion=absolute)的距离,或者各个边界离原来位置(postion=relative)的距离。只有当postion属性设置为absolute或者relative时才能生效。如果设置为static,则子块不会有任何变化。

IE浏览器中,如果rightbottom值冲突,就会只有lefttop两个位置发挥作用,但是在火狐浏览器中,为了满足4个边界的要求,子块的大小会被改变。

3)块的postion设置为relative时,与将其设置为absolute时完全不同。这时子块是相对于其父块来进行定位的,同样配合toprightbottomleft4个属性来使用的。

4)当块的postion参数设置为fixed,本质上与将其设置为absolute一样,只不过不随着浏览器的滚动条向上或者向下移动。IE7IE6一样,依然不支持postion属性的fixed值。

3z-index空间位置

Z-index属性作用域调整定位时重叠块的上下位置,想象页面为x-y轴,垂直于月面的方向为z轴,z-index值大的页面位于其值小的上方。

当块被设置了 postion 属性时,该值便可设置各块之间的重叠高低关系。默认的 z-index 值为 0 ,当两个快的 z-index 值一样时,保持原有的高低覆盖关系。
  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值