YUI CSS Foundation讲座 - 博客文库 - 博客园

2023-12-20 04:59

本文主要是介绍YUI CSS Foundation讲座 - 博客文库 - 博客园,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://video.yahoo.com/watch/1373808/4732784

某日,从Yahoo!的开发网站上看到一段视频讲座,是由YUI团队的高级工程师,YUI CSS Foundation的作者讲解的.看完视频后,我是受益匪浅,好东西不敢独享,和大家共同分享.

视频地址:http://developer.yahoo.com/yui/theater

作者:Nate Koechley

YUI CSS基础

2007年10月25日

Yahoo!总部

YUI视频专题:http://developer.yahoo.com/yui/theater

更多请关注:http://developer.yahoo.com/yui

YUI(Yahoo! User Interface)

文档: http://developer.yahoo.com/yui

邮件列表: groups.yahoo.com/group/ydn-javascript

博客:  yuiblog.com

Nate Koechley: natek@yahoo-inc.com

声明:由于作者水平有限,本文不是翻译,只是把作者意思表现出来.由于视频过早,有几个连接已经失效.

YUI CSS工具:

Css reset(清除浏览器的css样式)

Css base(对通用元素设置一直的样式基础)

Css fonts(字体排列和字体大小的基础)

Css grids(4k文件中包含了超过1000种的css驱动的线框)

(清晰明了,直观的给我们介绍了网页UI的组成,Reany注)

CSS的不同之处

来自任何地方的属性值可能在形成最终值之前经过了复杂的混合.(这个我们很清楚,我们的web页面很多时候会由于各个浏览器不同会显现出不同的样式,于是,为了统一,我们需要进行以下的工作,Reany注)

有效但有风险

2种主要的布局模型

csscade模型

根据权值和自身(设置)进行规则排序

Inheritance模型

有些属性可以传递给子节点,子节点可以部分的接受(尤其是当值重复的时候,比如"80%")

错误和差异同样会被有效的传递

YUI CSS的目标

为稳定做准备

差异的标准化

解决再利用的问题

集中管理繁杂问题

YUI CSS组件

Reset-干净的基础

Fonts-字体排列控制

Grids-布局和页面控制

Base-基本helper或者说微不足道的库

"Base"是额外的

基础

Helper

Reset

Base

Fonts

Grids

三者的关系

(又是一个直观的图片展示,Reany注)

引用YUI CSS

建议:

1 使用<link>

2 使用 http://yui.yahooapis.com

3 你自己的css连接

更多信息:

http://developer.yahoo.com/performance

引用Reset.css

Href="http://yui.yahooapis.com/2.3.1/build/reset/reset-min.css"

引用Fonts.css

Href="http://yui.yahooapis.com/2.3.1/build/fonts/Fonts-min.css"

引用Grids.css

Href="http://yui.yahooapis.com/2.3.1/build/grids/grids-min.css"

原连接版本

Href="http://yui.yahooapis.com/2.3.1/build/reset-fonts-grids/reset-fonts-grids.css"

(连接的文件默认已经最小化了)(就是被压缩了的,用过css压缩和js压缩的应该知道是怎么回事.Reany注)

使用YUI Grids

1 全面控制页面的宽和居中方式

2 拥有6套预设的模板,可以兼容所有IAB(Internet Architecture Board ,inertnet事物管理委员会,不知道翻译的对不对,我这边不能上网,可能是这个组织吧,Reany注)的广告尺寸,几乎包含Yahoo!的所有页面.

3 轻松创建嵌套的多列区域

大小约 4kb

所有页面的"宽"

750px 居中

950px 居中

974px 居中

100%可变的

(可以轻松的自定义,但是应该很少有机会用到自定义)

控制页面是从根节点开始的.如:

<body>

  <div></div>

</body>

为什么是"div"?

"div元素,与id和class属性一起为文档增加结构,从而提供了通用的组织构造"--w3c

有效的ID值

750px 居中 #doc

950px 居中 #doc2

974px 居中 #doc4

100%可变的 #doc3

750px居中文档

<body>

<div id="doc"></div>

</body>

以此类推

注意:

1 页面的宽是用"EM"定义的.

这也就是说,当用户放大缩小字体时,页面会自动扩展.

在必要情况下,你可以轻易锁定它.

锁定页面的宽

默认:

#doc2{

width:73.04em;

*width:71.313em;

}

重写当地文件来轻松锁定

#doc2{

width:950px;

}

2 "div #doc"可以包含任何东西.

<body>

<div id="doc">

<div id="hd"></div>

<div id="hd"></div>

<div id="hd"></div>

</div>

</body>

3令人惊讶的是,居中仍然无法完全兼容A级系列浏览器(不知道是不是这个意思,这个地方的A级浏览器是指YUI CSS能够得到最好支持的浏览器,Reany注)

浏览器的分级支持

对YUI和Yahoo!获得A级支持浏览器白名单

Win 2000

Win XP

Win Vista

Mac 10.4

Mac 10.5

Firefox 3.†

A-grade

A-grade

A-grade

A-grade

A-grade

Firefox 2.†

A-grade

A-grade

IE 7.0

A-grade

A-grade

IE 6.0

A-grade

A-grade

Opera 9.5†

A-grade

A-grade

Safari 3.1†

A-grade

A-grade

http://developer.yahoo.com/yui/articles/g

(实际应该为http://developer.yahoo.com/yui/articles/gbs,Reany注)

较窄的列指定宽度,主框架的宽是余下的宽度

他们父节点的尺寸是毫无关联的

2列=2段内容

Two content blocks

<div id="doc">

<div class="yui-b"></div>

<div class="yui-b"></div>

</div>

Now ,identify the main block.

这样就标识出了主要区域.

<div id="doc">

<div id="yui-main">

<div class="yui-b"></div>

</div>

<div class="yui-b"></div>

</div>

选择模板类

有效的模板类

在根div上设置面板类

<div id="doc" class="yui-t3">

<div id="yui-main">

<div class="yui-b"></div>

</div>

<div class="yui-b"></div>

</div>

隐式特色:源代码的规则独立

block的规则不会影响布局

重要信息放在前面会提高可访问性,易用性,并且对SEO更友好.

嵌套Grid
最基本的格式

Grid holder: .yui-g

Units: .yui-u

<div class="yui-g">

<div class="yui-u"></div>

<div class="yui-u"></div>

</div>

每个单元格各占一半

进阶: .forst

Grid holder: .yui-g

Units: .yui-u

First unit .first

<div class="yui-g">

<div class="yui-u first"></div>

<div class="yui-u"></div>

</div>

多次嵌套以得到4列

三列如何做?不是平均非配的呢?
特殊的Grid Holder

(.yui-gc 应该为 2/3--1/3,应该是作者手误,文中还有一些小地方我自己更改了,Reany注)

不平均的列

回顾一下:

1 page width: div#doc

2 Templates: .yui-t1

3 Grids: .yui-g .yui-u

4 Fill any space

5 Nestable & Stackable

至此你可以安全快速的构建复杂的布局了

使用YUI的Font

1 几乎全自动

2 安全的设置字体尺寸

3 其他妙处

For free:

Arial(font-family)

13px(font-size)

16px(line-height)

使用百分率
不要使用"px"

px尺寸会使IE丧失缩放字体的能力

总是使用百分比

h1{font-size:123.1%}

.hd h1{font-size:77%}

其他妙处

允许用户缩放

提供适合操作系统的字体

Font tip

避免使用速记字体(自我认为类似font-family下一些字体的缩写,Reany注)

因为不同的浏览器对其解释不相同.

使用YUI Reset

YUI CSS的最底层

建立干净 健壮的CSS基础

小测验:

1 strong元素的默认可视化是什么样的?

2 ul li元素的呢?

答案是: HTML没有可视化(的样式)

那可视化样式是从哪来的

浏览器包含一个 browser.css 文件.(用过FF和opera的指导,自定义很多,当然IE也有,但是可定制的地方太少,Reany注)

这样很好,但是他们都各不相同

Rest.css清除这些浏览器默认样式.

Reset可以做什么

详情请看reset.css(网上有具体的css reset 的文章,不过用的最多的还是YUI的CSS Reset,Reany注)

使用YUI的Base

1 一个几乎微不足道的库

2 恢复reset清除的属性

3 主要针对HTML内容线形页面

使用Grid和Base的页面

计算Em

pixel width/13px="em width"

"EM width"*0.975="IE's EM width"

#custom-doc{

width:46.15em;/* non-IE */

*width:45.04em;/*IE*/

}


说明

EM PX

EM:相对长度单位。相对于当前对象内文本的字体尺寸。

如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 

PX:像素(Pixel)。相对长度单位。

像素是相对于显示器屏幕分辨率而言的。譬如,WONDOWS的用户所使用的分辨率一般是96像素/英寸。而MAC的用户所使用的分辨率一般是72像素/英寸。

转载于:https://www.cnblogs.com/zjutsxj/archive/2010/04/14/1712250.html

这篇关于YUI CSS Foundation讲座 - 博客文库 - 博客园的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/514839

相关文章

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求