`

CSS+DIV元素位置试验

阅读更多


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
		<style type="text/css">
			#s{
				border:red solid 1px;
				
			}
			#b{
				border:blue solid 1px;
				width:200px;
				height:50px;
			}
			
		</style>
	
    </head>
    <body>
      <div id="all">
		<div id="s" >sssssssssss</div>
		<div id="b">bbbbbbbbbbb</div>
	<div>
		
    </body>
</html>



这里首先放两个DIV,一个是&quot;S&quot;,一个是&quot;D&quot;,为了区别,加上了边框,并以不同的着色来表现.

效果如下图所示:







在S和B上分别加入宽和高属性:

 
  width:200px; 
    height:50px;



此时变为如下图所示:





接着在S下加入如下属性:
引用
margin-top:100px;
margin-left:100px;


此时变成如下图所示:



此时在S下再加入以下属性:

float:left;


此时变成如下图所示:




从这里可以看出,原先在S下方的B跑到S右上方,位置在了S的右边,紧靠S但只是水平方向紧靠,再来对比一下S和B的属性,发现S比B多出以下属性:
margin-top:100px;
		margin-left:100px;

这里可以得出:默认情况下:Div是以Block元素从上至下排列的,各个元素保持各自的属性但又对其它元素产生影响,如S保持自己的属性(margin),但是双对B属性产生影响,在没有为S添加Float:Left属性之前,B始终在S的下方,但在为S添加了Float:left属性之后,B在S的右方.


接下来为S加入Position属性:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
		<style type="text/css">
			#s{
				border:red solid 1px;
				width:200px; 
				height:50px;
				margin-top:100px;
				margin-left:100px;
				float:left;
				position:absolute;<!--加入属性-->

			}
			#b{
				border:blue solid 1px;
				width:200px;
				height:50px;
			}
			
		</style>
	
    </head>
    <body>
      <div id="all">
		<div id="s" >sssssssssss</div>
		<div id="b">bbbbbbbbbbb</div>
	<div>
		
    </body>
</html>


添加属性后的效果如下所示:





这时,B到了S的上边,看上去不有了什么规律,像是无视了B的存在,这是为S添加 了Postion属性:Absoult的结果,当添加了这个属性后,S就脱离了所有元素,而直接以浏览为参照对象.简单来说S就像"飘"在其它之上,而不与其它元素发生关系,也不对其它元素产生影响.


接下来我们在S和B外加入DIV:ALL,为了更好的观看效果:我们去掉S的Position和Float属性,给All加下边框和背景属性,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
		<style type="text/css">
			#all{
				border:green solid 1px;
				background:#e8e8e8;

			}
			#s{
				border:red solid 1px;
				width:200px; 
				height:50px;
				margin-top:100px;
				margin-left:100px;
			}
			#b{
				border:blue solid 1px;
				width:200px;
				height:50px;
			}
			
		</style>
	
    </head>
    <body>
      <div id="all">
		<div id="s" >sssssssssss</div>
		<div id="b">bbbbbbbbbbb</div>
	<div>
		
    </body>
</html>


加入后的效果如下:




改变窗口大小,效果如下:





可以看到,All随着窗口的改变而改变大小;

接下来我们为All加入Float:left属性:

			#all{
				border:green solid 1px;
				background:#e8e8e8;
				float:left;

			}

效果如下图所示:




改变窗口大小:



可以看到,在给ALL加入Float:left属性后,All的大小只包含了S和B的内容,并且没有随着窗口在小的改变而改变.

引用
从这里可以猜想,当我们加入与All同一级别的Div时,它将会排列在All的右方.

这里我们加入与All同一级别的Div元素ALL2,并加入相应的背景和边框,加入后的代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
		<style type="text/css">
			#all{
				border:green solid 1px;
				background:#cccccc;
				float:left;
				width:300px;
				height:200px;

			}
			#all2{/*加入的ALL2*/
				margin-top:10px;
				border:yellow solid 1px;
				background:yellow;



			}
			#s{
				border:red solid 1px;
				width:200px; 
				height:50px;
				margin-top:100px;
				margin-left:100px;
			}
			#b{
				border:blue solid 1px;
				width:200px;
				height:50px;
			}
			
		</style>
	
    </head>
    <body>
      <div id="all">
		<div id="s" >sssssssssss</div>
		<div id="b">bbbbbbbbbbb</div>
	 <div>
	<div id="all2">
		all2
	</div>
		
    </body>
</html>



加入All2的效果如下图所示:



这里可以看到ALL2仍在All的下方,改变大小也一样,而没有如我们所猜想的那样,改变位置,到其右方.



接下来,我们回到只有一个All的情况,看看ALL下面包含的S和B的情况,以此来对比添加了一个与All同级的All2的情况,看看元素位置在有外围元素和没有外围元素的区别.

在S或B下加入Float:left属性后,会发生一些没有任何规律的位置变化,而且在不同浏览器的显示情情况不一样,但是如果将ALL的大小固定后却不会发生这样的情况.将ALL的大小固定后,去掉S和B的Flost:left属性,代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>New Web Project</title>
		<style type="text/css">
			#all{

				border:green solid 1px;
				background:#cccccc;
				width:700px;
				height:300px;
				float:left;
			}
			
			#s{
				border:red solid 1px;
				width:200px; 
				height:50px;
				margin-top:100px;
				margin-left:100px;
		
			}
			#b{
				border:blue solid 1px;
				width:200px;
				height:50px;
				background:#ff6600;
			
			}
			
		</style>
	
    </head>
    <body>
      <div id="all">
		<div id="s" >sssssssssss</div>
		<div id="b">bbbbbbbbbbb</div>
	 <div>
   </body>
</html>


效果如图所示:




改变窗口大小:




这时发现S和B的位置并没有随着窗口大小的改变而发生改变.


改变ALL的宽度为Width:10px;





ALL的宽度显然不是10Px,而是S的长度.

接下来,我们为S添加Float:left属性:
在Firfox中的效果如图所示:





在IE6中的效果如图所示:



去掉S中的Float:left属性,而在B中加入Flost:left属性后,在Firfox和IE6中的效果均和只有当All加入Flost:left时的效果一样.如下图所示:




此时将S和B同时加上Float:left属性.在IE6和Firfox中显示效果一样,如下图所示:




此时,改变ALL的宽度,使其Width:10px;效果如图所示:






由此可以看得,ALL实际上起到了一个限定的作用,当All的长度足够长时,S和B按自然的浮动进行排列,当All的长度小于相应的长度时,B就是挤到了S的下面.
另外每个DIV元素的FLoat属性,只对自己及以下的元素起作用.


通过以上实验,可以为我们用CSS+Div进行设计时提供一定的设计参考.
  • 大小: 857 Bytes
  • 大小: 745 Bytes
  • 大小: 9.4 KB
  • 大小: 17.9 KB
  • 大小: 17.4 KB
  • 大小: 17.7 KB
  • 大小: 18.7 KB
  • 大小: 15.8 KB
  • 大小: 18.6 KB
  • 大小: 1.7 KB
  • 大小: 19.5 KB
  • 大小: 13.8 KB
  • 大小: 19.5 KB
  • 大小: 2 KB
  • 大小: 2.1 KB
  • 大小: 19.3 KB
  • 大小: 19.7 KB
  • 大小: 16.3 KB
分享到:
评论

相关推荐

    CSS + DIV 布局控制 菜单

    在网页设计中,CSS(Cascading Style Sheets)与DIV元素是构建现代网页布局不可或缺的工具。本主题将深入探讨如何使用CSS + DIV进行布局控制,特别是如何创建和管理菜单。CSS提供了强大的样式控制能力,而DIV作为一...

    在线DIV+CSS编辑器

    例如,`display`属性可以改变元素的显示方式,`position`属性可以控制元素的位置,而`width`和`height`则可以调整元素的尺寸。 **CSS** 层叠样式表(Cascading Style Sheets,简称CSS)是用于描述HTML或XML(包括如...

    div+css经验之谈

    通过设置不同的CSS样式,我们可以让Div元素在页面上以各种方式排列,如行、列、网格等,实现复杂的网页布局。 CSS,即Cascading Style Sheets,层叠样式表,是用于定义HTML或XML(包括如SVG、MathML等各种XML方言)...

    DIV+CSS制作仿百度联盟广告代码.rar

    在IT行业中,网页布局设计是至关重要的,而`DIV+CSS`是一种常用的技术,用于实现网页元素的定位和样式控制。本资源“DIV+CSS制作仿百度联盟广告代码.rar”显然是一个教学或示例项目,旨在教授如何使用`DIV+CSS`来...

    40个DIV+CSS布局例子

    在网页设计领域,`DIV+CSS`是一种广泛采用的技术,用于实现页面的结构与样式分离。这个"40个DIV+CSS布局例子"压缩包显然包含了一系列实例,旨在...实践中学习,不断试验和调试,是成为`DIV+CSS`布局高手的最佳路径。

    网页制作(div+css)

    1. **Div元素**: 在HTML中,`&lt;div&gt;` 是一个通用的块级元素,可以容纳其他HTML元素。它没有特定的语义,但因其可塑性强,常被用来构建网页结构。通过为`&lt;div&gt;`分配类或ID,我们可以用CSS来控制它们的样式和位置。 2....

    十天学会DIV+CSS(WEB标准)

    【十天学会DIV+CSS(WEB标准)】是一份针对初学者设计的教程,旨在帮助读者在短短十天内掌握WEB标准中的核心元素——DIV和CSS。这份文档以详细、易懂的方式阐述了如何利用这两种技术来实现网页的布局与美化。 首先,...

    Div CSS网站布局视频教程第10课_理解CSS定位与div布局

    本教程将深入讲解CSS定位与div布局,这是创建复杂网页结构的关键技能。在第10课中,我们将详细探讨以下知识点: 1. **CSS盒模型**:理解CSS盒模型是掌握布局的基础。每个HTML元素都是一个矩形的盒子,包括内容区域...

    HTML+CSS 实现个人主页

    使用浮动(float)或定位(position)属性可以实现元素的位置控制。此外,CSS3引入了许多新特性,如渐变(gradients)、阴影(box-shadow)、过渡(transitions)、动画(animations)和响应式设计(media queries)...

    HTML+CSS完成一个五环效果

    接下来,我们转向CSS,这是给这些`&lt;div&gt;`元素添加样式的关键。为了使五环在页面中居中,可以使用`margin: auto`配合`display: block`来实现水平居中。同时,通过设置`position: relative`或`position: absolute`,...

    DIV遮挡问题

    在没有特定CSS样式的情况下,&lt;div&gt;元素默认是块级元素,会占据整个父元素宽度并按顺序垂直排列。 CSS在处理遮挡问题时起着关键作用。以下是一些关键知识点: 1. **定位**:CSS的定位机制包括静态定位(static)、...

    DIV移动例子

    `DIV`元素的位置可以通过CSS的`position`属性进行控制。默认情况下,`position`为`static`,元素按照正常的文档流排列。要使`DIV`可以移动,我们需要将其`position`设置为`relative`、`absolute`或`fixed`。在这个...

    90、jQuery+CSS3进度条动画特效

    `transition`用于定义元素从一种样式到另一种样式的过渡效果,而`transform`可以改变元素的形状、大小和位置。在进度条中,我们可以通过改变`width`或`transform`中的`scaleX`值来改变进度条的宽度,从而实现进度...

    HTML加CSS技术打造超能陆战队的大白.docx

    CSS的`position`属性用于控制元素在页面上的位置。当设置为`relative`时,我们可以使用`top`、`bottom`、`left`和`right`属性相对于元素原来的位置来调整其位置。例如: ```css .eye { position: relative; top...

    htmlcss生成器

    CSS则通过选择器来指定这些元素的样式,如颜色、字体、大小、位置等。例如,`.class-name`选择器用于选取特定类名的元素,`#id-name`选择器用于选取具有特定ID的元素,`element`选择器直接选取特定元素。 `wang.exe...

    CSS学习

    1. 层叠:当多个规则应用于同一个元素时,CSS会根据权重、特异性、位置等因素来决定哪个规则生效。权重由内联样式、ID选择器、类选择器和元素选择器等决定。 2. 继承:某些CSS属性(如字体大小、颜色)可以从父元素...

    CSS3图片组合万花筒旋转代码.zip

    在这个项目中,我们可能会使用`&lt;div&gt;`元素作为图片容器,并通过CSS3样式来定义它们的布局和动画效果。 CSS3是现代网页设计的关键技术,尤其是其强大的动画和变换功能。例如,我们可以使用`transform`属性来旋转、...

Global site tag (gtag.js) - Google Analytics