关于HTML简单div css网页模板对于某IP不再显示某个div(我的理解)

静态网页设计网站制作:第九讲 DIV+CSS界面排版
我的图书馆
静态网页设计网站制作:第九讲 DIV+CSS界面排版
第九讲 DIV+CSS界面排版
【教学内容】
DIV+CSS技术概念常识
DIV+CSS页面布局的分析方法
DIV+CSS页面布局的编辑方法
DIV+CSS页面布局常见错误分析。
【教学目的】
了解DIV+CSS页面布局基本概念及布局优势
理解掌握DIV+CSS页面布局基本方法
掌握DIV+CSS页面布局常见错误解决方案。
【教学重、难点】
重点:DIV+CSS页面布局编辑方法
难点:CSS对DIV的控制
【教学方式】
采取讲授、讨论和案例分析相结合的方式。
一、DIV+CSS技术应用网页效果预览
图2-9-1 DIV+CSS技术应用网页效果图&
二、实例分析,认识DIV+CSS技术
1.认识DIV+CSS技术,了解学习该技术的必要性
div 是标签 css是层叠样式表。DIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,通常为了说明与HTML网页设计标记中的表格(table)定位方式的区别,因为现行企业网站设计过程中大多是采用DIV+CSS的方式来代替表格实现各种定位,将页面内容与样式分离。虽然DIV+CSS高级布局已逐渐流行,但是DIV+CSS实现起来要相对复杂一些,所以在可以预计的将来,表格的地位依然十分重要,但是DIV代表的是网页设计的发展方向发展的方向。它们一个简单,一个先进,至于网页设计中选择哪种布局模式,就看设计者个人的偏好和设计要求了。
DIV+CSS网页布局的意义体现在如下方面:   由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小,使得页面载入得更快、降低流量费用;跟据区域内容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式;由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中正文部分更为突出明显,便于被搜索引擎采集收录;由于CSS富含丰富的样式,使页面更加灵活性,它可以根据不同的浏览器,而达到显示效果的统一和不变形的目的。
2.实例分析网页设计DIV结构
通过上图不难看出,整个网页的布局是有规律可寻得,它大致可以分为顶部区域,中上部区域、中下部区域和底部区域。而中上部区域和中下部区域又可以分成若干小的区块,分析后效果图如下: 
图2-9-2 区块划分分析图
根据上图,我们得出实际页面布局图如下:
图2-9-3 页面布局层叠结构图&
到此为止DIV层结构分析完毕,接下来我们开始写HITM标记和层叠样式表
三、实例制作步骤:
1.启动DreamWeaver,新建站点为“zzrsb”,路径为E:/websit,新建一个网页文件,命名为“zzrsb.html”,并保存在站点文件夹下。
2.在&body&标记中写出DIV结构,代码如下:
&div id="content"&& &div id="head"&顶部区域&/div&& &div id="webbody1"&主题1区&&& &div id="webbody1Left"&主题1区左&/div&&&& &div id="webbody1Right"&主题1区右&/div&& &/div&& &div id="webbody2"&主题2区&&& &div id="webbody2Left"&主题2区左&&&&& &div id="webbody2LeftTop"&主题2区左顶部&/div&&&&&& &div id="webbody2LeftFoot"&主题2区左底部&&&&&&& &div id="webbody2LeftFootLeft"&主题2区左底部左边&/div&&&&&&&& &div id="webbody2LeftFootRight"&主题2区左底部右边&/div&&&&&& &/div&&&& &/div&&&& &div id="webbody2Right"&主题2区右&&&&& &div id="webbody2RightTop"&主题2区顶部&/div&&&&&& &div id="webbody2RightFoot"&主题2区底部&/div&&&& &/div&& &/div&& &div id="foot"&底部区域&/div&&/div&
3.新建一个CSS文档,命名为“style.css”,并保存在站点文件夹下。
/*基本信息*/body {font:12px Tmargin:0text-align:background:#FFF;}/*页面层容器*/#content {width:100%}/*页面头部*/#head {width:1000margin:0height:100background:#900000}/*页面主体1*/#webbody1 {width:1000margin:0height:200background:#FEFEFE}/*页面主体1*/#webbody2 {width:1000margin:0height:200background:#FCFCFC}/*页面底部*/#foot {width:1000margin:0height:50background:#900000}/*主题1区左*/#webbody1Left {width:746 /*设定宽度*/text-align: /*文字左对齐*/float: /*浮动居左*/clear: /*不允许左侧存在浮动*/overflow: /*超出宽度部分隐藏*/}/*主题1区右*/#webbody1Right {width:254text-align:float: /*浮动居右*/clear: /*不允许右侧存在浮动*/overflow:hidden}/*主题2区左*/#webbody2Left {……}/*主题2区右*/#webbody2Right {……}/*主题2区左底部左边*/#webbody2LeftFootLeft {width:373 /*设定宽度*/……}/*主题2区左底部右边*/#webbody2LeftFootRight {width:373text-align:……}
4.“zzrsb.html”链接“style.CSS”文件,链接方法同第八讲中内容,到此为止,网页框架制作完毕。效果图如下:
图2-9-4 CSS控制DIV后布局图&
网页内部内容的添加和前面文字、多媒体元素、链接等内容添加相同,这里不再累述。
四、DIV+CSS页面布局常见错误分析
1. 检查HTML元素是否有拼写错误、是否忘记结束标记  即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一下有无错误。  2. 检查CSS是否正确  检查一下有无拼写错误、是否忘记结尾的 “}” 等。可以利用CleanCSS来检查 CSS的拼写错误。CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误。  3. 确定错误发生的位置  如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位置。  4. 利用border属性确定出错元素的布局特性  使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界,错误原因即水落石出。  5. float元素的父元素不能指定clear属性  MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘若不知道就会走弯路。  6. float元素务必指定width属性  很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何,一定要为其指定width属性。  另外指定元素时尽量使用em而不是px做单位。  7. float元素不能指定margin和padding等属性  IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(可以在float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。  8. float元素的宽度之和要小于100%  如果float元素的宽度之和正好是100%,某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。  9. 是否重设了默认的样式?  某些属性如margin、padding等,不同浏览器会有不同的解释。因此最好在开发前首先将全体的margin、padding设置为0、列表样式设置为none等。  10. 是否忘记了写DTD?  如果无论怎样调整不同浏览器显示结果还是不一样,那么可以检查一下页面开头是不是忘了写下面这行DTD:&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&[1] 
【课后小结】
&&& DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。本讲重点是以一个网页布局实例讲解了通过样式表文件格式化DIV区块的方法。 
【练习题】
&模仿练习题:
&&&根据本讲所讲内容,用DIV+CSS的方法完成组织人事部网页布局。
TA的推荐TA的最新馆藏[转]&
喜欢该文的人也喜欢博客分类:
&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""&&html xmlns=""&&head&&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&&title&如何让DIV固定在页面的某个位置而不随着滚动条随意滚动&/title&&style type="text/css"&
html,body {
width:100%;
height:100%;
}/**把body中的所有信息给隐藏了**/
.virtual_body {
width:100%;
height:100%;
overflow-y:
overflow-x:
}/**用一个层来模仿body**/
.fixed_div {
z-index:2008;
background:#e5e5e5;
}/**用定位来控制层的位置**/
&div class="fixed_div"&I am still here!&/div&
&div class="virtual_body"&
&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&&br /&
相关知识库:
javaimlike
浏览: 70706 次
来自: 北京
不错,兄弟,谢谢了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'Categories
Select Category
新闻&&(69)
&&&社会&&(47)
&&&科技&&(22)
留言板&&(2)
编程&&(84)
&&&Linux&&(19)
&&&Mac&&(10)
&&&Web&&(40)
&&&移动&&(4)
记录&&(92)
&&&历史&&(14)
&&&感悟&&(19)
&&&旅游&&(1)
&&&生活&&(58)
最近在做一个div css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性。趁现在还清醒赶紧记下笔记先:
一、并排在一行的两个div样式有这种情况:ie或者ff下对于子div设置float左的时候,如果另外的子div没有设置float左的 话,两个浏览器下会有区别,具体有一个会产生间隙。兼容做法就是都设置float属性。但是记住有设置过float就要将float clear掉,不然下面的div会叠在已float的div上。我通常把清除浮动写成单独的&div class=”clear”&&/div&放在所有浮动div的最下方。
二、在上述1情况中需要设置子div的宽度,假如不设置的话子div的宽度会被默认为母div的100%,这样float根本就产生不了效 果。当然还可以用display:inline的方法让两个子div并排,但是这样的话div的宽度设置将会失效(要把子div撑大只能考里面的元素)。
三、ie中母div被设置成特定高度之后,假如里面的子div高度(有float的话就以清除float的div的最底为总高度)超过了母 div设置的高度,ie会自动把母div撑大,但是ff却不能,ff中母div的高度会依然,里面的子层会溢出到外面来。兼容方法:不要设置母层高度。
教程开始:
首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流。如下图:
可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为div元素是独占一行的。
注意,以上这些理论,是指标准流中的div。
小菜认为,无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”。
显然标准流已经无法满足需求,这就要用到浮动。
浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。
例如,假设上图中的div2浮动,那么它将脱离标准流,但div1、div3、div4仍然在标准流当中,所以div3会自动向上移动,占据div2的位置,重新组成一个流。如图:
从图中可以看出,由于对div2设置浮动,因此它不再属于标准流,div3自动上移顶替div2的位置,div1、div3、div4依次排列,成为一个新的流。又因为浮动是漂浮在标准流之上的,因此div2挡住了一部分div3,div3看起来变“矮”了。
这里div2用的是左浮动(float:),可以理解为漂浮起来后靠左排列,右浮动(float:)当然就是靠右排列。这里的靠左、靠右是说页面的左、右边缘。
如果我们把div2采用右浮动,会是如下效果:
此时div2靠页面右边缘排列,不再遮挡div3,读者可以清晰的看到上面所讲的div1、div3、div4组成的流。
目前为止我们只浮动了一个div元素,多个呢?
下面我们把div2和div3都加上左浮动,效果如图:
同理,由于div2、div3浮动,它们不再属于标准流,因此div4会自动上移,与div1组成一个“新”标准流,而浮动是漂浮在标准流之上,因此div2又挡住了div4。
咳咳,到重点了,当同时对div2、div3设置浮动之后,div3会跟随在div2之后,不知道读者有没有发现,一直到现在,div2在每个例子中都是浮动的,但并没有跟随到div1之后。因此,我们可以得出一个重要结论:
假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。
div的顺序是HTML代码中div的顺序决定的。
靠近页面边缘的一端是前,远离页面边缘的一端是后。
为了帮助读者理解,再举几个例子。
假如我们把div2、div3、div4都设置成左浮动,效果如下:
根据上边的结论,跟着小菜理解一遍:先从div4开始分析,它发现上边的元素div3是浮动的,所以div4会跟随在div3之后;div3发现上边的元 素div2也是浮动的,所以div3会跟随在div2之后;而div2发现上边的元素div1是标准流中的元素,因此div2的相对垂直位置不变,顶部仍 然和div1元素的底部对齐。由于是左浮动,左边靠近页面边缘,所以左边是前,因此div2在最左边。
假如把div2、div3、div4都设置成右浮动,效果如下:
道理和左浮动基本一样,只不过需要注意一下前后对应关系。由于是右浮动,因此右边靠近页面边缘,所以右边是前,因此div2在最右边。
假如我们把div2、div4左浮动,效果图如下:
依然是根据结论,div2、div4浮动,脱离了标准流,因此div3将会自动上移,与div1组成标准流。div2发现上一个元素div1是标准流中的 元素,因此div2相对垂直位置不变,与div1底部对齐。div4发现上一个元素div3是标准流中的元素,因此div4的顶部和div3的底部对齐, 并且总是成立的,因为从图中可以看出,div3上移后,div4也跟着上移,div4总是保证自己的顶部和上一个元素div3(标准流中的元素)的底部对齐。
至此,恭喜读者已经掌握了添加浮动,但还有清除浮动,有上边的基础清除浮动非常容易理解。
经过上边的学习,可以看出:元素浮动之前,也就是在标准流中,是竖向排列的,而浮动之后可以理解为横向排列。
清除浮动可以理解为打破横向排列。
清除浮动的关键字是clear,官方定义如下:
clear : none | left | right | both
默认值。允许两边都可以有浮动对象
不允许左边有浮动对象
不允许右边有浮动对象
不允许有浮动对象
定义非常容易理解,但是读者实际使用时可能会发现不是这么回事。
定义没有错,只不过它描述的太模糊,让我们不知所措。
根据上边的基础,假如页面中只有两个元素div1、div2,它们都是左浮动,场景如下:
此时div1、div2都浮动,根据规则,div2会跟随在div1后边,但我们仍然希望div2能排列在div1下边,就像div1没有浮动,div2左浮动那样。
这时候就要用到清除浮动(clear),如果单纯根据官方定义,读者可能会尝试这样写:在div1的CSS样式中添加clear:,理解为不允许div1的右边有浮动元素,由于div2是浮动元素,因此会自动下移一行来满足规则。
其实这种理解是不正确的,这样做没有任何效果。看小菜定论:
对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。
怎么理解呢?就拿上边的例子来说,我们是想让div2移动,但我们却是在div1元素的CSS样式中使用了清除浮动,试图通过清除div1右边的浮动元素 (clear:)来强迫div2下移,这是不可行的,因为这个清除浮动是在div1中调用的,它只能影响div1,不能影响div2。
根据小菜定论,要想让div2下移,就必须在div2的CSS样式中使用浮动。本例中div2的左边有浮动元素div1,因此只要在div2的CSS样式中使用clear:来指定div2元素左边不允许出现浮动元素,这样div2就被迫下移一行。
那么假如页面中只有两个元素div1、div2,它们都是右浮动呢?读者此时应该已经能自己推测场景,如下:
此时如果要让div2下移到div1下边,要如何做呢?
同样根据小菜定论,我们希望移动的是div2,就必须在div2的CSS样式中调用浮动,因为浮动只能影响调用它的元素。
可以看出div2的右边有一个浮动元素div1,那么我们可以在div2的CSS样式中使用clear:来指定div2的右边不允许出现浮动元素,这样div2就被迫下移一行,排到div1下边。
至此,读者已经掌握了CSS+DIV浮动定位基本原理,足以应付常见的布局。
其实,万变不离其宗,只要读者用心体会,再复杂的布局都可以通过小菜总结的规律搞定。
Related Posts:
Designed by

我要回帖

更多关于 简单div css网页模板 的文章

 

随机推荐