IT技术精粹[JiShuBu.Com]-倾力打造一流IT技术平台!
  • 登录
  • 注册
  • 设为首页
  • 加入收藏
  • 网站首页
  • IT风向标
  • 网站优化
  • Html
  • CSS
  • JavaScript
  • ASP
  • Php/Mysql
  • Flash
  • Ajax
  • 源码下载
  • 精美桌面
  • 供求信息
  • 超稳定100M虚拟主机只要100元,还送50M邮箱!
  • 文字广告招商中...
  • 会员注册 | 用户登录 | 我要投稿
  • 信息订阅
CSS布局高级技巧[长风整理转载] 您现在正在浏览:首页 > CSS > 
CSS布局高级技巧[长风整理转载]

作者: 发布时间:2008-04-27 12:07:36 来源:www.utf.com.cn
margin和padding总是有可能要用到,而产生的问题如何解决呢?由于浏览器解释容器宽度的方法不同:
IE 6.0 Firefox Opera等是
真实宽度=width+padding+border+margin
IE5.X
真实宽度=width-padding-border-margin

IE中有浮动对象的双倍距离之BUG(IE Doubled Float-Margin Bug ), 这里还需要具体问题具体解决,下面是解决办法:IE Bug--浮动对象外补丁的双倍距离

很明显,第一种下很完美的布局在第二种情况下后果是很凄惨的!

解决的方法是hack
div.content {
width:400px; //这个是错误的width,所有浏览器都读到了
voice-family: "\"}\""; //IE5.X/win忽略了"\"}\""后的内容
voice-family:inherit;
width:300px; //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器(非IE5)有幸读到了这一句
}

div.content {
width:300px !important; //这个是正确的width,大部分支持!important标记的浏览器使用这里的数值
width(空格)/**/:400px; //IE6/win不解析这句,所以IE6/win仍然认为width的值是300px;
//而IE5.X/win读到这句,新的数值(400px)覆盖掉了旧的,因为!important标记对他们不起作用
}
html>body .content { //html>body是CSS2的写法
width:300px; //支持CSS2该写法的浏览器有幸读到了这一句
}


具体解释点击下面链接查看
XHTML+CSS兼容性解决方案小集
CSS之兼容浏览器篇

列等高技巧

n行n列布局,每列高度(事先并不能确定哪列的高度)的相同,是每个设计师追求的目标,做法有:背景图填充、加JS脚本的
方法和容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法。
背景图填充法:
xhtml:

<div id="wrap">
<div id="column1">这是第一列</div>
<div id="column1">这是第二列</div>
<div class="clear"></div>
</div>

css:

#wrap{ width:776px; background:url(/bg.gif) repeat-y 300px;}
#column1{ float:left; width:300px;}
#column2{ float:right; width:476px;}
.clear{ clear:both;}

就是将一个npx宽的一张图片在外部容器纵向重复,定位到两列交错的位置纵向重复,在视觉上产生了两列高度一样的错觉

JS脚本法:

www.blueidea.com/bbs/NewsDetail.asp?id=2453983
代码的原理基本就是这样,读取高度,判断高度,高度相等

容器溢出部分隐藏和列的负底边界和正的内补丁相结合的方法

这篇文章说的很详细了
CSS布局自适应高度解决方法
探索CSS实现三行三列等高布局
满屏高度布局(最窄770px最宽1024px经典布局)

http://www.itlearner.com/article/2006/3227.shtml

今天和一个网友两天,他提到:给一个外国公司做网站,要求1.800x600满屏。2.1024x767满屏。3.1280下居中。4.不许用JS。
我突然想起了这篇文章,哈哈!把它感觉不可思议的事情解决了!但是好像对于IE5有点问题啊!


至此,把布局从最基本的知识点到高级应用整理了一遍,有遗漏的请大家跟贴补上,唯一的缺憾就是例子演示不够,由于时间关系,见谅了!
  
【评论】【加入收藏夹】【大 中 小】【打印】【关闭】
※ 相关信息
 ·浏览器的兼容性[CSS HACK]  (2008-04-08 18:12:09)
 ·Div CSS实例教程:分享非常不错的页面制作方法  (2008-04-06 00:22:26)
 ·DivCSS实例:让页脚保持在未满屏页面的底部  (2008-04-06 00:16:00)
 ·CSS 文字樣式技巧 (摘自一台湾网站,确实很强!)  (2008-03-08 23:17:46)
 ·纯css实现无图圆角矩形块!  (2008-02-20 12:46:50)
 ·CSS 3 选择器解释  (2008-01-19 18:06:18)
 ·CSS超级技巧大放送  (2008-01-13 21:47:39)
 ·CSS Hack 汇总[千百度资料]  (2008-01-13 21:37:59)
 ·多个CSS样式表争夺特定选择符的控制权  (2008-01-08 17:52:28)
 ·CSS hack浏览器兼容一览表  (2008-01-08 15:42:52)

发表评论
查看评论 
用户名: 密码:
验证码: 匿名发表
[注册帐号]
[控制面板]
[用户登陆]
[修改资料]
[用户收藏]
[我的状态]
[退出登陆]
 
文章搜索
     
    [添加文章]   [管理文章]
最新技术文档
    ·十天学会PHP之基础知识
    ·十天学会PHP之流程控制
    ·十天学会PHP之构建数据库
    ·十天学会PHP之连接数据库
    ·echo和print 的区别
    ·PHP生成随机字符串
    ·PHP取得文件后缀
    ·正则表达式经验谈
    ·PHP的Cookie技术介绍
    ·PHP数组排序
技术文档排行榜
    ·天气预报小偷,根据IP自动判断地址
    ·超经典计算机使用问题105答
    ·'AjaxPro'未定义错误的原因&javascript顺
    ·[初学者必读]网页制作之HTML基础知识
    ·DIV&CSS打造自动伸展三栏复合布局
    ·CSS网页布局入门教程:下拉及多级弹出式菜单
    ·阿里妈妈广告的投放技巧
    ·谁是网页浏览器引擎速度真正王者
    ·JavaScript:世界上误解最深的语言
    ·几种常用禁止修改输入框的方法
关于站点 - 广告服务 - 联系我们 - 免责声明 - 程序支持 - 网站地图 - 留言中心 - 返回顶部

Copyright © 2007-2008 www.Jishubu.com online services. All rights reserved. Template designed by laogui.
违法不良信息举报中心 津ICP备07002356号