CSS技巧:段正淳的css笔记

2016-02-19 14:17 2 1 收藏

下面图老师小编跟大家分享一个简单易学的CSS技巧:段正淳的css笔记教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

淘宝首页上的一个小技巧。

类目之间的横竖线

从很久很久以前开始,类目间的竖线无非都只有三种。

背景图
在a标签设置一个padding 用宽1px高不等的背景图来position到右侧。
缺点:最后一个还是要用class来隐藏掉背景。 符号
在每个a标签之间用”|”符号来填充。
缺点:html文件变大,文件维护变得很麻烦,而且在html中毫无意义。 a标签右侧的boder。
同背景图一样,只不过使用border-right来代替。缺点也同上。

看到这里,可能已经有人打开淘宝首页用firebug查看源码来看是怎么做了。

其实现有是利用ul的overflow:hidden 再将li的margin-left:-1px的做法做出来的。这样的做法就可以同时避免以上的缺点了。
为什么之前都没有那么做的,寡人也不知道了。难道寡人是第一个发现这样的做法?
不管是谁先此之前利用了这样的方法实现类目间竖线。
不过在淘宝首页上线后不久就有同行的网站在首页改版中也用了这样的方法。
那个网站不看也罢。class实在是写的有点多。加载html会变得多得多。
反正一个首页需要加载1.17m的网页我的大脑会自动屏蔽。

圆角的做法.

为了这个圆角,前段开发们付出的努力是在是太多了.又要考虑http连接数,又要考虑css与html的代码量与语义.
贴出的是最近考虑替换现有圆角做法的方案,可能还有许多未考虑的状况.但是大体的编写方式便是如下.
好处是便于维护,只有一个图片.还可以某种程度上的任意缩放.缺点是多了无意义的html代码.

css:
.c,.c i,.c i i,.c b,.c b b,.c p{
background-image:url(/jc/UploadFiles/200710/20071025021934233.png);/*背景图片*/
background-repeat:no-repeat;
}
.c{
width:200px;/*临时定的宽度*/
background-position:0 -4px;
}
.c i{
display:block;
height:4px;
}
.c i i{
margin:0 0 0 4px;
background-position:right 0;
}
.c b{
display:block;
height:4px;
background-position:0 bottom;
}
.c b b{
margin:0 0 0 4px;
background-position:right bottom;
}
.c p{
margin:0 0 0 4px;
padding:0 4px 0 0;
background-position:right -4px;
}

html:
div class="c"
i i /i /i
p
按钮按钮按钮按钮按钮按钮
按按按按按钮按钮按钮按钮按钮按钮按钮按钮按钮按钮按钮按钮
/p
b b /b /b
/div

table的全局定义

caption这个标签在firefox下会有左边有1px空隙的bug,很讨厌.能想到的简单的方法只有-1px的margin了.

css:
table{
border-collapse:collapse;
}
table caption,table td,table th{
border:1px solid #a2bbdd;/*边框颜色*/
background:#c3d9ff;/*背景颜色*/
}
table caption{
text-align:left;
border-bottom:none;
margin-left:-1px;
}

html:
table
caption表格标题 /caption
tr
th标题 /th
th标题 /th
th标题 /th
th标题 /th
/tr
tr
td 内容 /td
td 内容 /td
td 内容 /td
td 内容 /td
/tr
/table

需要正视的二个标签

acronym这个标签用来解释名词很爽,但是用得太少.(我也一直想用来着,所以记下了.)
css:
acronym{cursor:help}
html:
acronym title="段正淳又是金庸笔下一个十分奇特的人物。他奇特在到处留情,情人极多,见一个爱一个,而又绝不是徒然风流薄幸,当他是单独对着一个情人的时候,他真是真心真意爱这个情人的,只好说这个人的感情特别丰富,别无其他解释。" 文字 /acronym ins这个标签忘记是在哪个网站上看到过用来在h2里显示更多的链接,后来查了书,大家都觉得有点欠妥,有点争议.
css:
还未写入css组件…欠奉上了
html:
h2标题 ins a xhref="http://ued.taobao.com/blog/#" mce_href="http://ued.taobao.com/blog/#" 更多 /a /ins /h2

标题右侧“更多”的实现

曾经做上图所示的效果,会使用到position来相对定位到h2标签的右侧.这样的做法,代码确实会多好几行. 其实可以用个笨一点的办法来实现的:

譬如html代码如下:

h2 a h ref="#" 标题 /a span更多… /span /h2

使用potsition的css差不多如下:

h2{
position:relative;
height:20px;
}
span{
position:absolute;
right:0;
top:0;
display:block;
height:20px;
}

这样才能实现更多在右侧.其实真的还可以更简单:

h2{
height:20px;
}
span{
float:right;
display:block;
margin:-10px 0 0 0;
height:20px;
}

其实只是利用了margin-top 的负数来实现,因为默认的float会换行到h2标签下面去,所以让它自个跳上去。大致代码就是如此了,是不是很简单?我说很简单嘛!由于很简单,所以就不放出单独的测试页面了.

ps:我说咱们啥时候也得搞个和蓝色理想一样的编辑器吧…

淘宝的css属性顺序书写规范

以前部门的同事们,每个人都有一套书写的规范,导致看对方的css代码非常吃力,所以就推行了一套书写标准 ,或许对您也有帮助。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

*{
/*显示属性*/
display
position
float
clear
cursor

/*盒模型*/
margin
padding
width
height

/*排版*/
vertical-align
white-space
text-decoration
text-align

/*文字*/
color
font
content

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

/*边框背景 为什么要把 boder和background放在最后的原因是修改的频率会较之前的频繁,放在最后查看起来方便,哈哈。*/
border
background
}

说到底其实属性的书写顺序规范就是:神仙?妖怪? - 身材怎么样!- 服装类型(比基尼?棉袄?) - 服装款式(黑色?白色?纽扣?拉链?) - 用了啥化妆品和发型.
这个书写标准小部分并不是浏览器厂商推行的书写规范,所以可能被广大标准推广者所不认同 。但这些个都是弟兄几个实践出来认为最符合现有淘宝环境的。

css代码的简写

css缩写的语法,对新手有一定帮助,老鸟就不用看了.

0px不需要单位,直接:margin:0 盒模型的缩写,语法是margin:上 右 下 左;.甚至可以简写成margin:上 (右左) 下,当然右左的值应该是一样的 css属性的最后一项”;”号省略。(不建议 ^_^) 字体宽度normal用400代替,bold用700代替。 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:#000000可以缩写为#000;#0044DD可以缩写为#04D; border边框的缩写,语法是border:width style color,类似boder:1px solid red; 背景background的缩写,语法是color image repeat attachment position.类似:background:#f00 url(background.gif) no-repeat fixed 0 0( 为什么我从不写fixed呢?) 字体的缩写,类似font:italic small-caps bold 1em/140% “SimSun”,sans-serif,可以省略到最简单font:12px “SimSun”. list的属性缩写,语法list-style:square inside url(image.gif) ,不过一般咱们都不用. 想凑10条, 还真难.就把删除无用换行符和空格算一个吧

来源:https://www.tulaoshi.com/n/20160219/1606636.html

延伸阅读
标签: Web开发
在一行内声明CSS 对比下面两个: h2 {font-size:18px; border:1px solid blue; color:#000; background-color:#FFF;} h2 {    font-size:18px;    border:1px solid blue;    color:#000;    background-color:#FFF;    } 第二种看起来的确格式化,但是不会在阅读上有任何帮助。写在...
    Web网站可用性的关键指标是速度,更确切地说,是页面能以多快的速度出现在访问者的浏览器窗口里。影响速度的因素有很多种,包括Web服务器的速度、访问者的Internet连接情况,以及浏览器必须下载的文件大小。尽管你无法控制服务器和连接的速度,但是你可以控制构成网站Web页面的文件大小。       为了...
标签: Web开发
使用 line-height 垂直居中 line-height:24px; 使用固定宽度的容器并且需要一行垂直居中时,使用 line-height 即可(高度与父层容器一致),更多的垂直居中总结可以看这里。 清除容器浮动 #main { overflow:hidden; } 期前也提到过这样的问题,更多信息可以看这里。 不让链接折行 a ...
标签: Web开发
经常有朋友问:如何使有超级连接的文字不出现下划线,如何使鼠标移动到超连上产生变色的效果?其实这些通过传统的方法是办不到的。而使用CSS的控制却可以非常轻松地作到,而且,页面的代码也不会臃肿。 ★★先看看超连没有下划线的例子: 例子1: 这个连接可以去页面底部,但是没有下划线。 是如何作到这一点的呢?在head和/h...
Snook.Ca最近给所有的CSSer提出了一些写CSS时候的“顶级技巧”。 字体大小使用px 在一行内声明CSS 对比下面两个: h2 {font-size:18px; border:1px solid blue; color:#000; background-color:#FFF;} h2 { font-size:18px; border:1px solid blue; color:#000; background-color:#FFF; } 第二种看起来的确格式化,但是不会在...

经验教程

624

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部