2B同学曾经一直跟说”舔着脸”..
现在终于理解了这三个字的精髓…
所以从今往后我也开始要”舔着脸”了..
no ass u me !
小时候也有过类似的想法,其实现在也是…
有信仰没错.但不能将信仰强加到别人的身上..
特别是一些极端分子有了一群愚昧的追随者之后..
最近越来越感觉到宗教及信仰的可怕..
它带来的灾难是毁灭性的..
故事的结局总是美好的…
可现实总是残酷的…
还行.说象中国版的<辛德勒名单>,<拯救大兵瑞恩>
我感觉更象中国版的<音乐之声>.
比较反感电影中对国民党丑陋嘴脸的描绘..
但毕竟这不是历史记录片…也许我太计较这些了..
好在导演给兰州市长安排了一段戏.才让我感觉影片还算公正.
石凯的戏份太少了..刻画的不够深刻..
箐的自杀我有些理解不了..
总之前面有点罗嗦…再略过爱情部分的床戏..这片还行…
我们经常使用到a,button,input等标签,通过css加背景等方式来实现按钮的效果。但是要做一个通用的样式类,又能保证在各个浏览器下表现一致,还能有很好的扩展性的按纽可不就那么容易了。好了废话少说。进入正题。
首先我们选择a和button两个标签作为通用按纽的外包装器。主要考虑到,在ie6不支持a以外的:hover伪类,使用a就可以对按钮做悬浮状态,这就是为什么选择他们做为最外层的包装器而不是span或者其他的标签。为什么不用input下面会详细说到。
先来认识一下button的类型(type),button,默认的类型。submit,该可以用来提交表单,功能同<input type=”submit” value=”提交” />。reset,可以用来恢复表单默认值。如下
<form action=""> <input type="text" value="I LOVE CHINA" /> <button type="button">type="button",我是一个默认的button,</button> <button type="submit">type="submit",我可以用来提交表单</button> <button type="reset">type="reset",我可以来清空表单</button> </form>
之前说了,当button的type属性为submit的时候,同样可以对表单进行提交,那为什么要选择button,而不是input。原因有两点。
但如果想让button在各个浏览器和各种操作系统下表现一致。还是一件比较让人头疼的事情。
在对button清除padding和border之后,ie6,7都会在上内边距产生1个像素的空间,firefox2,3(beta5)则会产生左右内边距3个像素和上内边距1个像素的空白,opear和safair则不会产生多余的内边距填充。这些差异给我们美化button上填了很多麻烦。
下面通过一个例子来演示一下通用button的制作
Html
<button class="btn btn-style-1" type="submit"><b><b>有兴趣有兴趣</b></b></button>
在这里采用了三层标签的结构,让最内层<b>的背景repeat-x,得到自适应文字宽度。当然也可以两层标签结构的使用滑动门技术实现。但如果要通用的话,那滑动门的背景至少要有800px的宽(考虑到宽屏,文字长等情况)
Images
左边圆角
中间重复背景
右边圆角
在制作的过程中,也许会问,为什么不将三张合成一张背景,其实原因就是上面提到的。每个浏览器下对button标签的默认内间距解释的都不一样。所以只能通过背景垂直居中的方式来解决三张图片对齐的问题。
CSS
.btn{
display:inline-block;
display:-moz-inline-stack;
*display:inline;
zoom:1;
margin:0;
border:0;
padding:0 5px 0 0;
text-align:center;
font-family:"微软雅黑",YaHei,"黑体";
vertical-align:middle;
font-size:0.8em;
color:#000;
text-decoration:none;
background:url("../img/yn_btn_pink_right.gif") right no-repeat;
}
button.btn{
cursor:pointer;
width:auto;
*overflow:visible;
border:0 none;
background-color:none;
vertical-align:middle;
}
.btn b{
display:inline-block;
display:-moz-inline-stack;
*display:inline;
zoom:1;
padding:0 0 0 5px;
position:relative;
white-space:nowrap;
font-weight:normal;
height:22px;
line-height:22px;
background:#FFD8D3 url("../img/yn_btn_pink_left.gif") left no-repeat;
_background-color:#FFF;
}
button.btn b b{
_margin-top:1px;
padding:0px 8px;
height:22px;
line-height:22px;
cursor:pointer;
background:#FFD8D3 url("../img/yn_btn_pink_center.gif") left repeat-x;
_background-color:#FFF;
}
在css中你会发现其中用到了position:relative;是为了解决ie和firefox下点击后下沉错位的问题。但在opear下还是会没解决掉。还请大家多多帮忙。
在这个例子中还可以在button中嵌入icon的来增加它的视觉效果,篇幅有限就不在这里举例子了。
相关阅读:
http://www.designdetector.com/demos/buttons-padding-demo.html
数周前,被华星科技监狱押解到了一个叫湖畔监狱的地方。
据说,现在江湖上阿里派的大佬们曾经都是从这里越狱出去的。
老大Jack Ma在墙上提写的“越狱才是硬道理”甚是鼓舞士气。
我的狱友们也坚信有朝一日,可以突破重围,闯出一片天地来。
所以不分昼夜的打造着各种神兵利器。
每周也只有一天出去放风的时间。但大多时候是在睡觉。
为了保证体力。每天都会吃一种叫红烧肉的东西。狱友们都称之为“硬菜”。
不过照现在趋势来看,新的“硬菜”可能会授予一种叫铁板牛柳的东西。
在每次吃之前要吟诵一边“黑灰化肥挥发会发灰黑”的绕口令。
每天中午或晚上,都会有位狱友会被一个叫健祥的狱友拉去练习“眉来眼去”乒乓球。来加强身体锻炼。
据说今天已经破记录,连续眉来眼去了45个回合。
这里虽然是监狱,但并没有要求佩带狱牌和囚服。
但还是有狱友非常专业。
我的狱友都非常可爱,虽然有的素未蒙面。
希望在我们共同的努力下能创造一个奇迹。
成功越狱~!
在秦歌的怂恿下,终于换了..
还是沿用了live space上的黑色风格和4列表布局.
在原由基础上美化了下..
还真TMD的酷哇~真是自叹不如自己啊.哈哈 :D.
但还有多个页面处于混乱和无链接状态.甚至还有逻辑错误..有时间再改.
最近把有限的生命投入到了无限的blog导入工作上….
花了2天,才导到07年9月…live spaces上估计还有3~400篇日志.
想想都要抽过去了….
神啊~再次赐予我力量吧… —_—|||||
今天是Css裸体节..纪念标签的语意化和倡导良好的内容结构.
在无法解析css的情况下,让页面也可以正常使用.
咱也来赶个时髦..在这个特殊的日子里也裸奔一下..
但如果把口碑给裸了,估计大眼睛会杀了我…—_—||||
看来也只有自己YY一下….
Happy Css Naked Day!!!~~
首先先对行内元素(inline elements,比如span,a,b等。)和块元素(block elements,比如div,h1,p等)进行一下知识回顾.简而言之,它们的区别可以分为下几点
在前端开发中,我们遵循结构,表现,行为相分离。所以将修饰型图片利用css的background把它写在表现层中。那最常见的就是icon的应用。如:
去我的flickr相册。这是利用行内元素的左侧内间距(padding-left)实现的icon+文字的组合。
但有时候,我们还需要另外一种表现形式,只是单独的icon而不需要文字或者链接,并且是图文混排。也许你想只要把span里面的文字删除不就可以了么,实际上并非如你所愿。
。如果你现在在ie下,肯定什么也看不到。
原因是行内元素在内容为空的情况下,ie认为它的width为0。
,现在在ie下可以看到了。
根据行内元素的特性,并不能为其设置一个宽度来解决,所以只能在里面加一个毫无意义的空格用来占位,来生成一个高度值,但在无css的条件下(在spider的眼里),无法得知它为何物。如下:
<a class="icon-flickr"> </a>
所以这样的解决方案让人无法接受。
使用inline-block就可以解决这个问题
通过将外包元素设置为inline-block,利用有inline的行级特性和block的指定高度和宽度的特性。再通过将内嵌标签中的解释文字隐藏来实现该效果。
你会在这里看到两个并排的icon,它们是“~这里飘过无尽的解释性文字啊!~~这里飘过无尽的解释性文字啊!~”,flick的icon,它和文字在一起。
代码如下:
.icon{
display:inline-block;
/* ie8,firefox3,safari,opera */
display:-moz-inline-stack;
/* firefox2,-moz-inline-box其实也可以,但在某些情况下会有些异常-_-b */
*display:inline;
zoom:1;
/*
ie6,7,在ie中,如果该class应用在行内元素中的时候, display:inline-block 会触发layout.
从而使该元素拥有inline-block的特性,但为了考虑到通用性,使其能在块元素中应用,
所以使用zoom:1来触发layout
*/
width:20px;
height:20px;
vertical-align:middle; /* 这个用来对opera的hack,使其垂直居中 */
overflow:hidden; /* 针对ie,防止内容溺出,造成的高度及宽度改变 */
background:url("http://l.yimg.com/a/i/ww/sp/trough_1.8.gif") -400px -680px;
}
.icon i{
visibility:hidden; /* 将解释性文字隐藏 */
}
<a href="#" class="icon"><i>~这里飘过无尽的解释性文字啊!~</i></a>
虽然问题解决了,但还是不够完美。因为多用了一个i标签。
再进行优化。可以利用text-indent:-9999px和font-size:0来隐藏文字。
但在ie下会存在一个恶心的bug。
应用了inline-block后会将拥有该属性的父级元素传递text-indent属性。导致真个icon连同后面的文字,全被吸到-9999em的位置上。
只能利用line-height:0和font-size:0;来对ie进行文字隐藏。
但opear,safair,firefox,都给font-size:0,一个默认大小。
再通过text-indent:-9999em来对firefox,opear,safair等进行文字隐藏。
谢谢怿飞提供的方案
完整代码:
.icon{
display:inline-block;
display:-moz-inline-stack;
*display:inline;
zoom:1;
width:20px;
height:20px;
text-indent:-9999em;
*text-indent:0;
font-size:0;
line-height:0;
/* 这里还可以通过line-height:9999em;font-size:0来解决 */
vertical-align:middle; /* 这个用来对opera的hack,使其垂直居中 */
overflow:hidden; /* 针对ie,防止内容溺出,造成的高度及宽度改变 */
background:url("http://l.yimg.com/a/i/ww/sp/trough_1.8.gif") -400px -680px;
}
在最后,还要多说几句-moz-inline-stack,在firefox2中它还存在一下小bug.当它所应用的外包装器(wrapper)的display为inline的时候,它所包含的a或button将无法点击或者无法选取。我们需要通过position:relative来hack掉这个bug。Sigh~。
关于inline-block的详细分析可以参考学鹍的CSS{display:inline-block}或者圆心的display:inline-block的深入理解
相关阅读:
Cross Browser Support for inline-block Styling
display:inline-block的应用两例
Inline formatting context
www.hedgerwow.com
Copyright © 2008 www.iakira.com All rights reserved.