第二天 文本布局和图片布局
文本布局:
1)一个常见的上下左下右分块布局:
无标题文档
header
left
right
上边例子为经典常用的样式设置,其中body中设置margin为0,以清除页边距,设置padding为0以保证浏览器兼容性。
由于有些浏览器th和td的样式未继承自body,因此需要并列声明样式。即body,td,th。
2)Dreamweaver CS3之后集成了adobe的一个spry库
Spry 框架是一个 JavaScript 库,Web 设计人员使用它可以构建能够向站点访问者提供更丰富体验的 Web 页。有了 Spry,就可以使用 HTML、CSS 和极少量的 JavaScript 将 XML 数据合并到 HTML 文档中,创建构件(如折叠构件和菜单栏),向各种页面元素中添加不同种类的效果。在设计上,Spry 框架的标记非常简单且便于那些具有 HTML、CSS 和 JavaScript 基础知识的用户使用。Spry 框架主要面向专业 Web 设计人员或高级非专业 Web 设计人员。它不应当用作企业级 Web 开发的完整 Web 应用框架(尽管它可以与其它企业级页面一起使用)。Spry可以使用XML和JSON两种格式的数据源。
具体下载地址:http://labs.adobe.com/technologies/spry/
3)css中的hack
由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。
CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack以及HTML头部引用(if IE)Hack,CSS Hack主要针对IE浏览器。
类内部Hack:比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等
选择器Hack:比如 IE6能识别*html .class{},IE7能识别*+html .class{}或者*:first-child+html .class{}。等等
HTML头部引用(if IE)Hack:针对所有IE:,针对IE6及以下版本:,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。
书写顺序,一般是将识别能力强的浏览器的CSS写在后面。
3-1)比如要分辨IE6和firefox两种浏览器,可以这样写:
我在IE6中看到是红色的,在firefox中看到是绿色的。
解释一下:
上面的css在firefox中,它是认识不了后面的那个带星号的东东是什么的,于是将它过滤掉,不予理睬,解析得到的结果是:div{background:green},于是理所当然这个div的背景是绿色的。
在IE6中呢,它两个background都能识别出来,它解析得到的结果是:div{background:green;background:red;},于是根据优先级别,处在后面的red的优先级高,于是当然这个div的背景颜色就是红色的了。
3-2)CSS hack:区分IE6,IE7,firefox
区别不同浏览器,CSS hack写法:
区别IE6与FF:
background:orange;*background:blue;
区别IE6与IE7:
background:green !important;background:blue;
区别IE7与FF:
background:orange; *background:green;
区别FF,IE7,IE6:
background:orange;*background:green;_background:blue;
background:orange;*background:green !important;*background:blue;
注:IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,某些情况下不能识别 !important
4)布局元素向左、向右、居中等布局
有三种常用方法:
4-1)设置text-align//只支持IE浏览器,不是W3C标准,因此慎用
4-2)设置float属性
4-3)设置position:absolute,然后再设置ltrb四个属性
图片布局:
1)图像两种引入方式
或者
Ie不支持object方式。firefox等支持。w3c曾经想通过object方式取代img,但是苦于img已经深入人心
2)边框样式的含义:
dotted:显示为点线;
dashed:显示为虚线;
solid:显示为实线;
double:显示为双线边框,两条单线与间隔的和等于border-width的值;
groove:根据border-color的值绘制3d凹槽;
ridge:根据border-color的值绘制3d凸槽;
inset:根据border-color的值绘制3d凹边;
outset:根据border-color的值绘制3d凸边。
3)为图像增加阴影
3-1)针对IE浏览器可以使用filter或者apha滤镜效果
3-2)考虑到兼容性,建议现在图像编辑器中设计好阴影背景图像,然后使用background属性把阴影图像图钉到图像的某个边上即可。