CSS类名class用下划线”_”还是减号”-”

其实这个问题早先已经有人讨论过了,但是没有定论。一个人写代码的时候爱咋样咋样,但量在团队合作的时候就会出现问题,一般来说都会制定相应的标准来保证代码风格的一致性。

关于CSS类名的命名方式大致有三种:

  • 1. 下划线,即:class=”main_nav”
  • 2. 减 号,即:class=”main-nav”
  • 3. 驼峰式,即:class=”mainNav”

三种方法各有利利弊,我大概总结了下面几点:

1.下划线

优点:和程序兼容性好,因为所有程序语言里的变量命名都可以用下划线。

缺点:生硬难看,多余一个字符。

2.减号

优点:与CSS代码原生匹配,比如:text-align:center; 视觉上有一致性,也很美观。

缺点:用减号分割的字符一般的文本编辑器会认为它是两个字符,从而影响“双击选中”操作,另外在程序里减号是变量的运算符,可能会造程序书写困难。

3.驼峰式

优点:符合编程语言命名规范,节省1个字节

缺点:XHTML规定都是小写,用某些代码整理工具可能会误把类名全部转化成小写

大家如果觉得有什么要补充的可以讨论下,个人还是喜欢减号多一点。因为比较原生嘛!

CSS分组(多元素)选择器使用小记

从来都不要认为一件事情简单就不去仔细研究,CSS本身是比较简的但要想完全凌驾其上也不是一朝一夕的事,平常做页面时就要多做总结,积累才是学习的最好方法。

正题:

在我们写CSS时遇到两个选择器不同规则相同的情况大多会用到多元素选择器,因为这样在某种情况下会少写一条相同的规则,比如:

#display-block{ display:block; }
.display-block{ display:block; }

合并为:

#display-block, .display-block{ display:block; }

这个地球人都知道?往下看…
毫无疑问上面这种方法大大的精简了代码,但是在实际操作中我发现并非所有的情况都如我所愿。比如:

#display-block{ display:block; color:red; }
.display-block{ display:block; color:black; }

合并为:

#display-block{ color:red; }
.display-block{ color:black; }
#display-block, .display-block{ display:block; }

对比一下这两段代码,你会发现下面合并过的比上面没合并的多了大约18个字符,换句话说就是合并并没有达到精简代码的效果,反而比原来的还长了。

总结一当某选择器有单一CSS规则时,用分组选择器会达到精简代码的作用。

再来看一种情况:

#f1{ display:block; color:red; }
#f2{ display:block; color:black; }

合并为:

#f1{ color:red; }
#f2{ clor:black; }
#f1,#f2{ display:block; }

对比一下合并后大概节省了7个字符。

总结二当N个(短)选择器下含有至少1条相同CSS规则,用分组选择器优化其中某条规则时可能会达到效果。

能否达到效果要看其中的“短”和“某条”的字符长度。用个小学生方程吧:设它俩字符长度为X,Y 那么:

当 Y*N>X*N+(N-1)+2+Y 时,总结二成立。否则不成立。

解释:

  • N-1表示分组选择器之间的“,”
  • 2表示多出来的“{}”

好了!一个简单的结论出来了哈。不过貌似没多大意义,也只做折腾罢了。匆深究^!^

附:CSS森林博客作者制作的CSS压缩工具:mergeCSS

分享一段可定制的分享代码

最近在给公司做网站的时候需要给产品页加上分享到微博的代码,本来用addthis的代码,但可定制性太差。于是就自己上网搜索了下总结出一个感觉还不错的代码。效果类似于文章下面的“收藏&分享”。

如果觉得不够的话自己去搜索链接代码,图标用的是eicodesign发布的免费图标哦。

继续阅读 »

精巧支付宝导航条制作教程

alipay-tab

其实也算不上教程,也就是自己没事儿的时候做点东西然后发上来大家交流交流,希望大家不吝赐教^!^

因为刚看过亚东的教程和这个有点相似,所以就自己琢磨了一下写了一个仅用到一小段的JS就搞定了。亚东的里面要用到JQuery。我感觉要是简单一点的东西直接上JS就行了,有大量需求时再调用库才好。

继续阅读 »

CSS实现视觉标识

css-visual-sing

视觉标识这个词挺新鲜的哈,其实很简单就像上图中箭头指出的一样:当你在网站的博客页面时会有一个橘色的标识。这个效果的最大优点就是提示用户以提高用户体验。一般来说这效果都是用JS来完成的,但如果不牵扯动态页面的话用CSS去实现它会更容易。

首先看这个导航条的核心XHTML代码:

<body id="index-page">
<ul id="menu">
      <li><a href="index.html" id="index">首页</a></li>
      <li><a href="blog.html" id="blog">博客</a></li>
      <li><a href="bbs.html" id="bbs">论坛</a></li>
      <li><a href="guest.html" id="guest">留言</a></li>
      <li><a href="links.html" id="links">链接</a></li>
</ul>
</body>

请注意红色标注部分:为了达到效果,我们建立了五个页面(index,blog,bbs,guest,linsk),而且第个页面的body都有一个唯一的ID属性。

当我们写好样式后来实现标识效果只需要给五个不同ID选择器加上一个鼠标移动到上面去的样式:

body#index-page #index  { background: ……  }
body#blog-page #blog    { background:  ……}
body#bbs-page #bbs      { background: …… }
body#guest-page #guest  { background: …… }
body#links-page #links  { background: …… }

其实这个效果挺简单的,有兴趣的同学可以去试试。

最终效果

代码素材下载