本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订 。
CSS 设计理念 - 颜海镜 阅读原文»
今天整理CSS2.1的规范,发现这个,分享给大家。
CSS2.1 作为 CSS2 和 CSS1 的后序版本,基于一下一组设计理念:
- 向前和向后兼容。CSS2.1 的用户代理能够理解 CSS1 的样式表。 CSS1 的用户代理能够读取 CSS2.1 的样式表,并且丢弃他们不能理解的部分。同时,对于不支持 CSS 的用户代理可以显示样式增强的文档。当然通过 CSS 增强的样式将不被渲染,但所有的内容可以被表现。
- 作为结构化文档的补充。样式表补充结构化文档(例如,HTML 和 XML应用程序),为标记文本提供样式信息。样式表应该非常容易修改,并对标记的影像甚微或没有。
- 供应商,平台和设备无关。样式表使文档保持供应商,平台和设备无关。样式表本身也是供应商和平台无关的,但CSS2.1允许你为一组设备指定一个样式表(例如,打印机)。
- 可维护性。通过在文档中指向样式表,网站管理员能简化站点的维护和保持整个站点的一致外观和感觉。例如,如果组织的背景色发生改变,仅需更改一个文件。
- 简单。CSS 是一门简单的样式语言,是对人类读写友好的。CSS的属性保持最大程度上的相互独立,一般实现一个效果只有一种方法。
- 网络性能。CSS为内容的呈现方式提供了紧凑的编码。图片或音频文件常被作者用来实现某种特定的渲染效果,样式表和其比起来体积要小的多。同时,减少网络链接的次数,进一步提高网络性能。
- 灵活性。有几种方法可以将CSS应用到内容。关键特征是不同位置的样式信息能够层叠,包括默认(用户代理)样式表,用户样式表,链接样式表,内嵌样式,和元素属性中的样式信息。渴求的某些渲染效果和设备无关相冲突,但CSS2.1
- 丰富的。为作者提供一组丰富的渲染效果,增加网站作为表达媒介的丰富性。设计师们已经对桌面版和幻灯片应用中的常见功能渴望许久。但 CSS2.1 为满足设计师的要求,向前迈了一大步。
- 可选的语言绑定。规范中描述的一组 CSS 属性使视觉和听觉格式化模型表现一致。其格式化模型可以通过CSS语言访问,但也可以绑定到其他语言。例如,在JavaScript程序中可以动态改变某个元素的‘color’属性值。
- 可访问性。一些CSS功能将使网络更方便残障用户:
- 控制字体外观属性允许作者消除不可访问的文图图片。
- 位置属性允许作者消除强制布局的标记技巧(例如,不可见图片)。
- !improtan 规则的意义在于有特别演示要求的用户可以覆盖作者的样式表。
- 所有属性的‘inherit’值用来提升层叠的通用性,和更容易生成一致的风格。
- 改进媒体支持,包括媒体分组和 braille,embossed,和 tty 媒体类型,允许用户或作者为这些设备定制页面。
注
原文:http://www.w3.org/TR/CSS2/intro.html#design-principles
本文链接:CSS 设计理念,转载请注明。
Xamarin.Android快速入门 - y-z-f 阅读原文»
一、准备工作
1.创建一个空的解决方案,并命名为Phoneword
2.右击解决方案 新建-》新建项目 并命名为Phoneword_Droid
二、界面
1.打开Resources文件夹-》layout文件夹双击打开Main.axml
2.然后将会出现下面的界面
3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个 Text(Large) 控件到该界面中,如下所示:
4.同时还要通过属性窗口修改Text的值:
5.紧接着拖拽一个Plain Text控件到之前的Text控件下方,并修改Text属性为1-855-XAMARIN。接着拖拽一个Button控件到Plain Text控件下方:
同时修改Button控件的id和text:
6.接着再拖拽一个Button控件到TranslateButton控件下方,并设置该id属性为@+id/CallButton以及Text为Call,最终效果如下:
三、代码
1.右击该项目,添加-》新建项,选择类,并设置类的名称为PhoneTranslator,然后在其中写入如下代码(这些代码的重要功能是将字符串转换成正确格式的电话号码):
1 namespace Phoneword_Droid
2 {
3 public static class PhoneTranslator
4 {
5 public static string ToNumber(string raw)
6 {
7 if (string.IsNullOrWhiteSpace(raw))
8 return "";
9 else
10 raw = raw.ToUpperInvariant();
11
12 var newNumber = new StringBuilder();
13 foreach (var c in raw)
14 {
15 if (" -0123456789".Contains(c))
16 newNumber.Append(c);
17 else
18 {
19 var result = TranslateToNumber(c);
20 if (result != null)
21 newNumber.Append(result);
22 }
23 }
24 return newNumber.ToString();
25 }
26
27 public static int? TranslateToNumber(char c)
28 {
29 if ("ABC".Contains(c))
30 return 2;
31 else if ("DEF".Contains(c))
32 return 3;
33 else if ("GHI".Contains(c))
34 return 4;
35 else if ("JKL".Contains(c))
36 return 阅读更多内容
2 {
3 public static class PhoneTranslator
4 {
5 public static string ToNumber(string raw)
6 {
7 if (string.IsNullOrWhiteSpace(raw))
8 return "";
9 else
10 raw = raw.ToUpperInvariant();
11
12 var newNumber = new StringBuilder();
13 foreach (var c in raw)
14 {
15 if (" -0123456789".Contains(c))
16 newNumber.Append(c);
17 else
18 {
19 var result = TranslateToNumber(c);
20 if (result != null)
21 newNumber.Append(result);
22 }
23 }
24 return newNumber.ToString();
25 }
26
27 public static int? TranslateToNumber(char c)
28 {
29 if ("ABC".Contains(c))
30 return 2;
31 else if ("DEF".Contains(c))
32 return 3;
33 else if ("GHI".Contains(c))
34 return 4;
35 else if ("JKL".Contains(c))
36 return 阅读更多内容
没有评论:
发表评论