08 2011 档案
CSS的float和position
摘要:CSS改变了网页的设计主要体现在两方面:(1)使人们可以轻松地改变各种元素的样式,比如字体、颜色、背景颜色等等。(2)使人们可以轻松滴改变网站原有的布局,如三列布局的网站,我们只需改动一点点代码就能改变这三列从左到右的顺序。 之前的几篇CSS随笔,其实都是讲述第(1)点的。对于第(2)点,CSS又是如何去为我们提供这种便利的呢? CSS2布局的原理:通过指定box相对于父亲容器、其他容器、浏览器窗口的位置来定位的。而平时我们所见的float,其实严格意义上来讲不是布局。它是在CSS1中添加新来的,源于netscape浏览器。float 从netscape1开始,float便用来定义图片<
阅读全文
谈CSS中的float
摘要:float的历史: 最早是Netscape 1引入的, <img src="b5.gif" align="right"/>。后面由HTML 2.0正式引入。能应用float的元素: 以前我们只能对image和table应用float,如今CSS允许我们对任何元素应用float,包括image,p,list等等。float中的margin: 被应用float后的元素,与它临近的元素不会有margin collapse现象。containing block : 被float的对象,它的containing block为靠它最近的块级元素祖先。
阅读全文
从块级元素(Block-Level Elements)说开去
摘要:图1 盒模型 CSS中的盒子模型,我们都知道其组成结构。但是,在使用它时总觉得难以驾驭。 X轴方向: 定律: 1)width指的是盒子中内容的宽度,而不是盒子的宽度。 2)在普通流( normal flow )中,块级元素盒子的宽度一定等于该盒子的父容器的width。 3)X轴方向的属性:margin-left, border-left, padding-left, width, padding-right, border-right, margin-right。 其中只有margin-left,margin-right,width可以设置为auto。 X轴方向使用auto: 1)设置三个属.
阅读全文
ul与li应用样式及其兼容性
摘要:<ul> <li>list item one</li> <li>list item two</li> <li>list item three</li> <li>list item four</li></ul>list-style-type: list-style-type:none;list-style-image: 示例:<style type="text/css"> ul{ list-style-image:url(bullet.png);
阅读全文
关于hr的各版本浏览器兼容性
摘要:hr标签,相信大家都能熟悉,我们一般用它来产生横线的效果。我们可以对它定义“颜色”、“高度”、“宽度”、“边框”等样式。 在此只讨论“颜色”和“边框”对于不同版本浏览器的兼容性。颜色: 火狐、IE7+= :通过background-color来指定。 IE6-= :通过color指定。 方案:要为hr指定颜色,同时使用background-color和color。边框: IE7+= :如不指定border:none,那么浏览器默认会为hr加上一定宽度的边框。 IE6-= :浏览器默认不会为其加上边框。 方案:显示申明border:none。完整的兼容代码如下:<style type=&q
阅读全文
如何移除h1与p之间的间距:临近选择符
摘要:对于h1和p,浏览器自动会为他们加上margin-top和margin-bottom。 <h1> Obama says Warren Buffett is right about taxes </h1> <p > CANNON FALLS, Minnesota (Reuters) - Small-town Americans probably don't make as much money as Warren Buffett, but they pay more of their income in taxes, President Barack
阅读全文
举例说明如何实现一个泛型类
摘要:首先,我们以“创建一个简单的、未实现泛型的、能包含任何类型的链表类”作为切入点;然后我们再对其改装成支持泛型的列表类。 我们都知道“链表”内部总是一个元素连接到下一个元素,所以我们需要创建一个类来表示其中的每一个节点。这个节点类,需要包含三个信息:1.之前的节点 2.本节点 3.之后的节点。 基于以上的分析,我们得到了节点类LinkedListNode: View Code public class LinkedListNode { public object Value { get; private set; } public LinkedListNode(object value) { .
阅读全文
使用泛型的好处:类型安全
摘要:“类型安全”简单说来就是:没有泛型之前,如果你把int,string,class类型都通过Add()方法添加到一个集合类中,这样明显不可以的,但是编译器在编译时却发现不了这个问题,非得要执行是才报错。有了泛型之后,如果你把string添加到List<int>中,那么在编译期间,IDE就会给你报错。 //以下代码会在运行时出现错误ArrayList list = new ArrayList();list.Add(4);list.Add("myString");list.Add(new MyClass);foreach(int item in list){ Cons
阅读全文
使用泛型的好处:性能
摘要:[原] 题记:当我们平时需要使用到集合类时,我们会发现类的头部导入了这个命名空间:System.Collections.Generic(这其实是泛型的英文名称)。 因为我没有使用过CLR1.0,所以之前对微软命名空间的划分有点恼火。既然是集合类,干嘛不直接放在System.Collections里。当看了泛型之后才明白其中的缘由。 在CLR1.0中,集合类是没有实现泛型的(当时,泛型还没有出生呢),到了CLR2.0时,引入了泛型的概念,于是微软把原先的集合类重写了一边,以实现泛型。所以才有了现在的System.Collections.Generic这个命名空间。 之所以说泛型提高了性能,就在于
阅读全文
C# 泛型介绍
摘要:[原] 泛型是CLR2.0中的新特性。 场景: 在CLR1.0中,如果要创建一个灵活的类或方法,但是该类或方法在编译期间并不能确定所使用的是什么类。 方案: 要解决这种问题,我们必须以Object类为基础。 弊端: 比如现在有一个方法:public string doSomething(Object item){ ....} 这个方法既可以传进引用类型,也可以传入值类型。(在设计这个方法时,我们不能确定参数到底是引用类型,还是值类型。即使知道是引用类型,那么使用的是什么类,我们也不能 知道。所以我们把这个参数定义为Object) 从表面上来看,这种解决方案很美好,至少我实现了需求(编译期间无法
阅读全文
浙公网安备 33010602011771号