`
Jennycn
  • 浏览: 97461 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

从0开始学编程(9)--(129)-- 三列自适应宽度

 
阅读更多
这个,真好啊,我先还担心呢,要是这样,我那个有地图的页面就可以把地图部分放中间,做自适应好了:http://www.deman.cc/DIV+CSS/442.html

三列自适应宽度,一般常用的结构是左列和右列固定,中间列根据浏览器宽度自适应。下面在二列自适应宽度基础上修改一下

<div id="side">此处显示 id "side" 的内容</div>
<div id="side1">此处显示 id "side1" 的内容</div>
<div id="main">此处显示 id "main" 的内容</div>



增加以下css样式:

#side1 { background: #99FF99; height: 300px; width: 120px; float: right; }


分享到:
评论
7 楼 Jennycn 2011-10-24  
div宽度自适应问题  2009-07-30 20:04:22|  分类: Web |  标签: |字号大中小 订阅 .

1.宽度自适应的条件

•自适应宽度的层不要指定宽度和float属性
•自适应宽度的层物理的位置放在最下面
•自适应的div中不能出现“width=100%”,否则在ie6中会出现错位现象,ie7,ie8,ff3,chrome都正常。
   1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
   2. <html xmlns="http://www.w3.org/1999/xhtml">  
   3. <head>  
   4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312"  />  
   5. <title>DIV自适应宽度</title>  
   6. <style type="text/css">  
   7. <!-- 
   8. .L { width:100px; background-color:blue; float:left;} 
   9. .R { width:100px; background-color:blue; float:right;} 
  10. .M { background-color:red; } 
  11. -->  
  12. </style>  
  13. </head>  
  14. <body>  
  15. <div style="width:500px;">
  16.     <div class="L">left:100px</div>
  17.     <div class="R">right:100px</div>
  18.     <div class="M">自适应宽度</div>
  19. </div>
  20. </body>  
  21. </html>


2.div的默认(不写)宽度是100%,但不撑大父框架,写出width=100%是如果再使用了margin或padding就会将父框架撑大。 table默认宽度为内容的长度,与div不同,因此最好不要混着用,否者这个宽度自适应的方法在ie6下就有问题了。但高版本的浏览器都没问题,是不是说以后大家都会忽略这两者之间的差异呢?


如果父框架设定了固定宽度,那么子div的宽度设为width=100%,即使设定了margin,padding或border都不会撑大父框架。

http://chaoqunz.blog.163.com/blog/static/6154877720096308422202/
6 楼 Jennycn 2011-10-24  
因为网页中还有flash,图片等,这些是固定宽度的,它们不太容易随着宽度的改变而铺满空白。960px可以算业内的一个标准,适合主流分辨率1024*768。

看到这句话,那么,我的地图部分也有图片啊, 不对,地图部分的图片是比较小的,定义了大小的,打开后,就和地图本身没关系了

5 楼 Jennycn 2011-10-24  
那个姑娘,在前天给了我一张静态的后,说去切片,然后给我html的.说最迟周一可以给我,是注册和登陆的都包括的.

可是,到今天又都没有给我,我下午要和印度人开skype电话会议,想用,也用不了.

姑娘说, 做效果比较难,所以,...

我还没学到这里,所以,也不懂,她效果图都有了,为啥还难呢

我这现在都是直接就html做, 掌握表单的做法后,应该也不难啊:)

我是因为,不会做背景图片,也就不用做什么效果图了,直接就在dreamweaver上看效果

那上面也能看到色彩等效果的,还可以随时就在浏览器里看到的
4 楼 Jennycn 2011-10-24  
我那个有一个问题,就是 要是地图部分做自适应的话, 看起来是没问题的,问题是,那块容纳地图的容器怎么设置大小呢


很奇怪的,我用百分比就能完成的事情,他们都说不能

这是另外一篇,用position解决的absolue
http://www.wdola.com/a/wangdianmoban/20110926/870.html

内容提要:使用浮动定位方式,从一列到多列的固定宽度及自适应,基本上可以简单完成,包括三列的固定宽度。而在这里给我们提出了一个新的要求,希望有一个三列式布局,其中左栏要求固定宽度,并居左显示,右栏要求固定宽度并居右显示,而中间栏需要在左栏和右栏的中间,根据左右栏

  使用浮动定位方式,从一列到多列的固定宽度及自适应,基本上可以简单完成,包括三列的固定宽度。而在这里给我们提出了一个新的要求,希望有一个三列式布局,其中左栏要求固定宽度,并居左显示,右栏要求固定宽度并居右显示,而中间栏需要在左栏和右栏的中间,根据左右栏的间距变化自动适应。这给布局提出了一个新的要求,而且单纯使用float属性与百分比属性并不能够实现,CSS目前还不支持百分比的计算精确到考虑左栏和右栏的占位,如果对中间栏使用100%宽度的话,它将使用浏览器窗口的宽度,而非左栏与右栏的中间间距,因此我们需要重新的思路来考虑这个问题。

  绝对定位

  在开始这样的三列布局之前,有必要了解一个新的定位方式——绝对定位。前面的浮动定位方式主要由浏览器根据对象的内容自动进行浮动方向的调整,但是这种方式不能满足定位需求时,就需要新的方法来实现,CSS提供的除去浮动定位之外的另一种定位方式就是绝对定位,绝对定位使用position属性来实现。

  position用于设置对象的定位方式可用值:static/absolute/relative

  对页面中的每一个对象而言,默认position属性都是static。

  如果将对象设置为position:absolute,对象将脱离文档流,根据整个页面的位置进行重新定位。当使用此属性时,可以使用top,right,bottom,left即上右下左四个方向的距离值,以确定对象的具体位置,看如下CSS:

  如果#layout使用了position:absolute;将会变成绝对定位模式,与此同时,当设置top:20px;时它将永远离浏览器窗口的上方20px,而left:0px;将保证它离浏览器左边距为0px。。

  注意:一个对象如果设置了position:absolute;它将从本质上与其他对象分离出来,它的定位模式不会影响其它对象,也不会被其它对象的浮动定位所影响,从某种意义上说,使用了绝对定位之后,对象就像一个图层一样浮在了网页之上。

  绝对定位之后的对象,不会再考虑它与页面中的浮动关系,只需要设置对象的top,right,bottom,left四个方向的值即可。

  而在本例中,使用绝对定位则能够很好地解决我们所提出的问题。同样,使用3个div形成我们的三个分栏结构:

  对于#center,我们不需要再设定其浮动方式,只需要让它有左边外边距永远保持#lef与#right的宽度,便实现了两边各让出202px的自适应宽度,而左右两边让的距离,刚好让#left和#right显示在这个空间中,从而实现了而已要求。

  制作过程如下:先设置body{margin:0px;}清除掉body默认的边界,这样不会影响到三列的显示;

  接着创建div标签,css的边框、背景色、宽度、高度不再详述,可参考以前的教程,具体说一下本例中新接触的属性在css对话框中是怎么设置的:


本文来源自: 网店ola http://www.wdola.com 
原文请参考链接:http://www.wdola.com/a/wangdianmoban/20110926/870.html
3 楼 Jennycn 2011-10-24  
其实,我不明白,为啥就不能side 45%,side1 10%
2 楼 Jennycn 2011-10-24  
还不知道我的地图会不会遇到这问题,先记在这.不过没明白,要是2边都是浮动元素,那怎么处理


3像素bug是IE6的一个著名的bug,当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现。看下面这个左列固定,右列液态的例子,css代码如下:

body { margin:0;}
#side { float: left; background:#99FF99; height: 300px; width: 120px;}
#main { background: #99FFFF; height: 300px;}



html代码如下:

<div id="side">此处显示 id "side" 的内容</div>
<div id="main">此处显示 id "main" 的内容</div>


从截图中明显看出,IE6会在两个div中间加上3px的空隙,那么要解决这个问题,请在#side上加上_margin-right:-3px;记住,前边加上一下划线,这样这个样式专门针对IE6生效。IE7和FF下还会正常显示。

body { margin:0;}
#side { float: left; background:#99FF99; height: 300px; width: 120px; _margin-right:-3px;}
#main { background: #99FFFF; height: 300px; }



看看,是不是问题已经解决了。但它不能通过W3C验证。当两列固定宽度时,最好把#main也固定宽度且向右浮动,这样就可以避免IE6的3像素bug了。







1 楼 Jennycn 2011-10-24  
不知道右边的滚动条是多少px啊

我现在用1419--259

然后左边是550

剩下的好像正好

1100+259=1359,滚动条有60吗?

相关推荐

    easyui datagrid标题列宽度自适应

    而自适应宽度则是在窗口大小变化时,让列宽自动调整以适应内容或窗口尺寸。 描述中提到的“标题列宽度自适应”问题,通常出现在用户希望datagrid的列宽能够根据浏览器窗口大小的变化或者数据内容的长短自动调整,以...

    JavaScript tab标签 自适应宽度的标签导航

    本篇将深入探讨如何使用JavaScript实现自适应宽度的标签导航,并关联到相关的编程语言和技术。 JavaScript,作为Web开发中的重要脚本语言,是实现动态交互效果的关键。ECMAScript(通常简称为ES)是JavaScript的...

    原生js自适应宽度焦点图切换-自适应焦点图切换代码

    标题中的“原生js自适应宽度焦点图切换”是指使用JavaScript编写的一种图片轮播效果,它能够自动根据浏览器窗口的宽度调整图片展示的大小和布局,以实现良好的响应式设计。这种焦点图切换通常用于网站的首页或者产品...

    web文本框宽度自适应

    通过自适应宽度,可以避免过长的文本导致的布局混乱,也可以防止用户因输入过短内容而产生空旷的视觉效果。 【描述】提到的技术实现是基于JavaScript(JS),这是一种广泛使用的客户端脚本语言,可以在用户的浏览器...

    计算机软件-编程源码-Ehlib自动编号及自适应列宽演示.zip

    其次,自适应列宽是现代软件UI设计的一个重要特性,它允许表格根据其内容自动调整列的宽度,确保所有数据都能清晰可见,无需用户手动调整。在Ehlib中,可能有预设的函数或属性用于设置列宽为自动模式,根据列内最长...

    Canvas自适应宽度大转盘抽奖代码.zip

    在这个"Canvas自适应宽度大转盘抽奖代码"项目中,开发者利用了Canvas的特点,构建了一个可以自适应屏幕宽度的大转盘抽奖效果。 首先,我们来看一下Canvas的基本结构。在HTML中,`&lt;canvas&gt;`标签定义了一个可编程的...

    聊天气泡背景自适应内容宽度高度

    设计一个聊天气泡背景,使其能够自适应内容的宽度和高度,是一个提高用户体验的关键因素。本话题将深入探讨如何实现这样一个功能,并提供一个简单的示例(BgFitContentLabel)。 首先,我们需要理解聊天气泡的基本...

    自适应宽度的jquery幻灯切换代码.rar

    本资源"自适应宽度的jquery幻灯切换代码.rar"提供了一个利用jQuery实现的自适应宽度幻灯切换效果,非常适合企业网站使用。下面将详细介绍这个特效及其相关知识点。 首先,jQuery幻灯片切换是网页设计中常见的功能,...

    根据sql语句生成rdlc报表,字段宽度自适应

    为此,可以结合使用固定宽度和自动宽度,为关键列设定固定宽度,其他列则自适应。 在实际操作中,可以通过编程方式控制字段宽度。例如,可以使用C#或VB.NET代码在报表加载事件中计算字段的最佳宽度,然后动态设置列...

    listview列宽自动适应

    实现这一功能的关键在于测量每个列项的文本宽度,并据此调整列的宽度,确保所有文本都能完全显示而无需水平滚动。 ### 实现细节 #### 代码解析 在给定的部分内容中,我们看到了一个名为`AutoSizeColumn`的类以及...

    微信小程序源码-图片自适应 ,富文本解析.zip

    在这个"微信小程序源码-图片自适应 ,富文本解析.zip"压缩包中,我们主要关注两个核心概念:图片自适应和富文本解析。 一、图片自适应 在微信小程序中,由于屏幕尺寸和分辨率的多样性,图片自适应至关重要。它确保...

    ckplayer宽度和高度根据父容器的宽度进行自适应的代码段

    本篇文章将深入讲解如何通过编程实现CKPlayer的宽度和高度根据父容器的宽度进行自适应。 首先,我们需要理解CKPlayer的工作原理。CKPlayer基于HTML5的`&lt;video&gt;`元素,通过JavaScript进行控制和扩展。它的尺寸可以...

    swift-TableViewCell图文混排图片大小自适应

    在Swift编程中,创建一个具有图文混排的TableViewCell是一项常见的任务,这通常涉及到自定义UITableViewCell的布局以适应不同内容的需求。在这个"swift-TableViewCell图文混排图片大小自适应"项目中,开发者着重解决...

    android屏幕自适应案例详解

    11. **使用RecyclerView和GridLayoutManager**:RecyclerView是一个高效的列表视图容器,配合GridLayoutManager能实现自适应列数的网格布局。 12. **使用Android Jetpack Compose**:Jetpack Compose是Google推出的...

    自适应跑马灯效果

    5. 滑动方向:支持双向滑动,例如从右到左和从左到右。 6. 平滑过渡:使用缓动函数(如ease-in-out)来增加动画的平滑感。 在"Web-Ticker-master"项目中,我们可以进一步研究其代码结构,查看HTML模板、CSS样式表...

    labview 自适应屏幕分辨率程序

    LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司(NI)开发的图形化编程环境,常用于创建虚拟仪器和数据处理系统。在“labview 自适应屏幕分辨率程序”这个主题中,我们...

    RBF-adaptive1_RBF_matlab_SIMULINK_自适应控制_自适应_

    总的来说,"RBF-adaptive1_RBF_matlab_SIMULINK_自适应控制_自适应"这个项目提供了学习和实践RBF自适应控制的完整流程,包括理论理解、MATLAB编程以及SIMULINK仿真。无论是对于学术研究还是工程应用,这个资源都是...

    自适应波形束 matlab GUI 编程

    在本文中,我们将深入探讨“自适应波形束 MATLAB GUI 编程”这一主题,它涉及到数字信号处理、MATLAB图形用户界面(GUI)设计以及自适应波束形成算法的应用。MATLAB是一种强大的数学计算软件,广泛应用于工程、科研...

    自动改变宽度的ComboBox

    开发者需要手动设置宽度或者利用一些特定的编程技巧来实现自动调整。这个"自动改变宽度的ComboBox"则解决了这个问题,使得控件能更好地适应不同长度的数据显示,避免了过长的内容被截断,提升了用户体验。 实现这样...

Global site tag (gtag.js) - Google Analytics