文章关键字 ‘css’

分析border边框属性在浏览器中的性能对比

2010年05月7日

当初写完了《分析border边框属性在浏览器中的渲染方式》这篇日志后,有人跟我说,“小志啊,你这个并不能说明border:0 none;方式性能就是好的啊”。这点我承认,的确如此,因为那篇日志仅仅只是说明了border针对input标签和button标签在渲染方式的一个渲染方式对比。

然而今天在涛哥的勾引下,我使用了谷歌浏览器作为平时默认浏览器,顺带安装了一些插件,值得一提的是谷歌浏览器自带的有一个叫“任务管理器”的东西比较好玩,可以看很多参数,比如什么“缓存”啦、“内存”啊之类的。

“内存”这个东西我看了之后,突然想到曾经不是有人说border渲染后的性能么,于是乎,就在原来的那个demo基础上针对border:0;border:none;以及border:0 none;这三个做了一个简单的对比。

(全文…)

关于a标签中图文链接在IE的一个BUG分析

2010年05月5日

在此必须要声明一点,或许有朋友认为小志博客中的日志还算OK,因此转载了文章,如果你们在转载的时候遗漏了日志的原文出处没关系,但请千万不要修改原文内容,有不同意见可以增加备注,但请保证原文的一致性,必要产生不必要的误解,在此小志先谢过了。

此文中提到的问题是在IE6/IE7中出现的

在五一之前Rock给了我一个很好玩的demo,当时我看到他所给代码跟截图时心中想到这个解决方法应该有很多哦,为什么一定要这样折腾自己呢,搞那么问题BUG出来呢。不过后来深入的了解之后才发现这个问题真的很好玩,当时一直想不出来为什么,然后Rock告诉我说他问题是解决了,但不知道是为什么。而解决的办法他提到了“无法冲破的z-index”让我猛然想起了小毅写的《position:relative/absolute无法冲破的等级》,难道跟这个有关,简单测试一下,果然如此。

当时虽然是解决了问题,不过也没啥心情去折腾个究竟,丢在桌面无视之。晚上突然感觉想到,于是乎就有了这篇日志了。废话不多说,先来看Rock给我的demo,似乎有点被修改过了,那么我自己也来整一份吧,请点这里看我整的这个DEMO,用IE打开哦。

(全文…)

关于利用:first-letter实现首字下沉的一些看法

2010年04月20日

前几天在“CSS那些事儿”的群中,一位读者朋友(小土豆)问我书中提到首字下沉的时候为什么要增加一个清除浮动。当时我自己一时迷惑了,为什么呢,怎么一点印象都没有呢。赶紧打开电子版的《CSS那些事儿》找到相对应的章节,并且在各个浏览器中测试了之后才发现,我当初对这块的说明太少了,才让她产生了一些不理解的想法,或许也有其他的一些读者会存在这样的问题。

发现了问题就需要解决问题,因此我就拿这个首字下沉的时候为什么要清除浮动而做了一系列的测试,结果让我感觉有点崩溃,原来我在那章节中说明的内容太少了,在这里赶紧做个补充,希望读者朋友们能看到这篇文章后不会再对那个清除浮动而产生迷惑。

首先来看一下我在书中仅有的一段对首字下沉进行说明的代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
<style type="text/css">
p:first-letter {
	float:left; /* 设置段落p标签的首字为浮动,让其占据多行的空间 */
	font-weight:bold; /* 加粗段落p标签的首字 */
	font-size:2em; /* 设置段落p标签的首字为其他字体的2倍 */
}
p {clear:both;} /* 清除首字的浮动,避免影响p标签的高度与其相叠加 */
</style>
 
<h2>【端午节由来】</h2>
<p>关于端午节的来历,归纳起来,大致有以下诸说:</p>
<p>迎涛神,此说出自东汉<span>《曹娥碑》</span>。曹娥是东汉上虞人,父亲溺于江中,数日不见尸体,当时孝女曹娥年仅十四岁,昼夜沿江号哭。过了十七天,在五月五日也投江,五日后抱出父尸。</p>
<p>春秋时吴国忠臣伍子胥含冤而死之后,化为涛神,世人哀而祭之,故有端午节。</p>

在书中所提到的注释里,仅对p标签清除浮动做了一个简单的说明,内容如下:

p {clear:both;} /* 清除首字的浮动,避免影响p标签的高度与其相叠加 */

就是因为这么一句话,让小土豆这位读者产生了猜想,为什么要清除浮动。在部分读者眼中或许已经比较清楚明白为什么要清除浮动,因为:first-letter伪对象有一个浮动的属性。后来我想想,为什么这个有浮动属性就要清除浮动,这个问题似乎需要说明一下。

(全文…)

拥有阴影并且能自适应的弹出层

2010年04月5日

依稀记得今天所要与大家分享的这点内容是以前在迅雷工作的时候,大仙曾与几位重构师分享过,不过当时并没十分在意,只是依稀记得大致的实现方式,这次自己再在这个大致的实现方式上去实验,最终将结果分享出来供大家批斗,不妥的地方请大家多多提意见。

弹出层是现在网站中使用率很高的一个效果,有半透明的黑屏中叠加一个层,也有弹出层的旁边出现透明边框的方式。总之呢,形式呢是多姿多彩,但基本的原理都是差不多,小志这次要跟大家分享的并不是面面俱到的所有方式的弹出层,而是一个拥有阴影(或者说是透明边框)并且能自适应宽高的弹出层。

实现的方式有几种,但为了页面的整体性能会对IE进行选择性的舍弃。废话不多说了,先来看一下大概的页面表现效果吧。

>>>点击查看demo<<<
(全文…)

2010年3月 – WEB标准化交流会

2010年03月9日

WEB标准化交流会是由“WEB标准化联盟”(46077068)在2009年发起的线下活动。在每月的最后一个周六,与Web从业者共同研究并讨论前端动态。本活动以技术交流为目的,不收取任何费用。

2010年3月 – WEB标准化交流会 第6期

  • 话题:前端开发在研发流程中与其他岗位协作效率的提升
    1. 研发流程
    2. 协同规范
    3. 有效沟通

    有想法?去讨论

  • 时间:2010-3-27 14:00-18:00
  • 报名时间:2010-3-1 至 2010-3-21 交流会邀请会在3-23日统一发出,请留意您的邮件
  • 地点:
    1. 北京:海淀区中关村腾讯北京
    2. 上海:携程旅行网 上海市长宁区福泉路99号[地铁2号线淞虹路终点站5号口出]
    3. 广州:天河区天河路208号粤海天河城大厦39楼新浪公司
    4. 深圳科技园腾讯大厦2403-【陶然亭·北京】会议室 负责人:twinsenliang[13760121744]

第6期报名表报名表:http://www.w3ctech.com/joinus/

详情请看:http://www.w3ctech.com/

踏上寻找webkit内核渲染HTML的默认样式之路

2010年03月5日

制作页面的时候大家都会reset样式,但到底我们需要reset一下html标签中被渲染的哪些样式属性呢,一直都很好奇这个问题,也一直在寻找这个答案。前几天有幸从iwege处得知webkit内核下载的页面(http://nightly.webkit.org/),明天组内要出去旅游了,晚上早点回来休息一下,最终还是按捺不住,打开了这个页面下载了最新版本的webkit源码,结果是C++写的,看不懂,悲剧!

幸运的人儿总是会得到上帝的眷顾,翻箱倒柜之后找到了我所想要的文件,并且简单的进行实验之后,发现都是较为符合,猜想应该就是webkit内核中对于CSS样式属性了。好东西当然不能独享,独乐乐不如众乐乐嘛,跟大家分享一下,顺便也请大家一起看看这个到底是不是我们在safari等一些webkit内核浏览器中看到“默认样式”。

附带由CSS群中LEE提供的gecko内核的firefox浏览器对于CSS样式属性的文件,该文件可以在firefox的安装目录中找到,路径为:安装盘符:\Program Files\Mozilla Firefox\res

(全文…)

分析border边框属性在浏览器中的渲染方式

2010年02月24日

针对border边框属性在浏览器中的渲染方式很早以前就开始在QQ群中看到大家在讨论,而我也一直以border:0 none;的方式处理。其中当然也是有我自己为什么要做的原因,对于这个原因在下面的分析中将会提到。在对border边框属性进行分析之前,需要说明的几点内容是:

  1. 小志我并不是一个分析专家,只是借助Firebug和IE developer这两个工具在FF浏览器和IE浏览器中查看浏览器的渲染结果;
  2. 因为只是查看了FF浏览器和IE浏览器的渲染结果,并不能代表所有的浏览器都是相同的方式进行渲染。

为了能更好的对边框的样式进行对比,这里我们选用的是“按钮”元素,但使用的标签却是不同的,它们分别是input标签元素和button标签元素。顺带需要提到的一点就是,这两个标签元素在各个浏览器中的共同点是都属于系统控件元素,边框样式以及按钮背景都是跟系统主题有着绝对性的关系。

(全文…)

利用CSS属性实现进度条的方式

2010年02月9日

今天在一个QQ群中看到有人在问一个进度条的实现方式,当时因为工作时间,需求相对也比较紧,只是简单的说了一下可以通过CSS的边框属性和背景属性来完成。不过或许是因为当时说的内容比较少吧,那位朋友似乎没有明白我想要表达的意思。也罢,快过年了,晚上回来的时间相对也可以早点,抽点时间简单写一个demo,顺便再说说自己的一个思路想法吧。

在这里先祝大家虎年吉祥!

对于简单的、纯色的进度条,我一直比较热衷于直接用CSS来实现,复杂点的当然是涉及到图片啦。那么对于简单的、纯色的进度条需要怎么利用CSS的边框属性和背景属性来完成呢?
(全文…)