Posts Tagged ‘css’

又一个可用的CSS HACK

星期三, 四月 8th, 2009

长时间写AS代码之后,养成良好习惯,每行代码结束随手输入”;”,无意中在在整CSS时也顺便在”}”之后敲了个”;”,变态是整个CSS文件也仅仅只是多敲了这么一个.于是乎在firefox,chorm,opera测试页面时无论如何也不能和IE一致。经过一番…… (全文…)

关于CSS3

星期五, 三月 7th, 2008

在微软向W3C靠扰的时候,以及IE8的出现,我想以后IE的更新速度一定会加快.对于CSS3的支持也是迟早的事.而火狐(FF)在中国网络上的的广告攻势也不能小视.部份CSS3的特性,FF已经支持了,像圆角之特别有用的新特性.<br/>
从网上收集的资料看,大至上有以下一些特性,我们可以用Firefox, Konqueror, Opera or Safari/Webkit.去看看效果.<br/><br/>

<ul>
<li>边框(border-color,border-image ,border-radius ,box-shadow )</li>
<li>背景(background-origin,background-clip,background-size,multiple backgrounds)</li>
<li>颜色(HSL colors ,HSLA colors ,opacity ,RGBA colors )</li>
<li>文本特效Text effects(text-shadow,text-overflow,word-wrap)</li>
<li>界面(box-sizing,resize outline )</li>
<li>选择器Selectors</li>
<li>其它(media queries,multi-column layout,,speech)</li>
<li>继续……</li>
</ul>

CSS3的特性在(FF)以及webkit等其它浏览器都不是以标准的语法去表示,<br/>
FireFox则会在标准语法加(-moz-),webkit则加(-webkit-).<br/>

IE中z-index层叠失效

星期一, 三月 3rd, 2008

最近在制作HTML页面,很多两列的地方需要一侧因定宽度,另一侧自适应宽度.当需要一个下拉菜单效果时,无论把z-index的值设为多高,菜单的DIV始终不在页面最顶层.
HTML


<div class="a">
a <div class="menu">sub a</div>
</div>
<div class="b">
b
</div>


CSS


.a {
position:relative;
background:#f00;
}
.menu{
position:absolute;
background:#0ff;
height:50px;
z-index:99;
}
.b {
position:relative;
background:#ff0;
}


以上是页面代码,menu的z-index已设为99,但在IE6,IE7中DIV[menu]始终在div的下面.只能通加设置div[a]的z-index的值来提升级div[menu]层叠高度,但在火狐中无需设置.可以看出IE对层叠顺序的继承性比火孤要严格的多.但本人觉火孤的方式接近设计者的意图.虽然对IE和火狐对CSS不同解析深恶痛绝,也只能感到无奈.

Expression在css中最简单的应用(隔行换色)

星期四, 三月 15th, 2007

IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和javascript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段javascript表达式,CSS属性的值等于javascript表达式计算的结果。
 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。
例:简单实现隔行换色。

tr {
 background-color: expression(this.sectionRowIndex==0?"#FF0000":((this.sectionRowIndex%2==0) ? "#F7F7F7" : "#FFFFFF"));
}


#FF0000是设定表格第一行背景颜色。
#F7F7F7与#FFFFFF是后续几行隔行换色。

常用CSS缩写语法总结

星期二, 三月 13th, 2007

使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则如下: 

颜色 
16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: 
#000000可以缩写为#000;#336699可以缩写为#369; 

盒尺寸 
通常有下面四种书写方法: 

property:value1; 表示所有边都是一个值value1; 
property:value1 value2; 表示top和bottom的值是value1,right和left的值是value2 
property:value1 value2 value3; 表示top的值是value1,right和left的值是value2,bottom的值是value3 
property:value1 value2 value3 value4; 四个值依次表示top,right,bottom,left 
方便的记忆方法是顺时针,上右下左。具体应用在margin和padding的例子如下: 
margin:1em 0 2em 0.5em; 

边框(border) 
边框的属性如下: 

border-width:1px; 
border-style:solid; 
border-color:#000; 
可以缩写为一句:border:1px solid #000; 

语法是border:width style color; 

背景(Backgrounds) 
背景的属性如下: 

background-color:#f00; 
background-image:url(background.gif); 
background-repeat:no-repeat; 
background-attachment:fixed; 
background-position:0 0; 
可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0; 

语法是background:color image repeat attachment position; 

你可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为: 

color: transparent 
image: none 
repeat: repeat 
attachment: scroll 
position: 0% 0% 
字体(fonts) 
字体的属性如下: 

font-style:italic; 
font-variant:small-caps; 
font-weight:bold; 
font-size:1em; 
line-height:140%; 
font-family:"Lucida Grande",sans-serif; 
可以缩写为一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif; 

注意,如果你缩写字体定义,至少要定义font-size和font-family两个值。 

列表(lists) 
取消默认的圆点和序号可以这样写list-style:none;, 

list的属性如下: 

list-style-type:square; 
list-style-position:inside; 
list-style-image:url(image.gif); 
可以缩写为一句:list-style:square inside url(image.gif);

网页HTML默认的CSS样式表属性总结

星期一, 三月 5th, 2007

除了inline和block的定义,主要是要注意  body|h1~h6|blockquote|menu|ul|ol|dd等标签的默认样式(margin和font-size)。 
不过不同浏览器的默认值是不一样的.

html, address, 
blockquote, 
body, dd, div, 
dl, dt, fieldset, form, 
frame, frameset, 
h1, h2, h3, h4, 
h5, h6, noframes, 
ol, p, ul, center, 
dir, hr, menu, pre   { display: block } 
li              { display: list-item } 
head            { display: none } 
table           { display: table } 
tr              { display: table-row } 
thead           { display: table-header-group } 
tbody           { display: table-row-group } 
tfoot           { display: table-footer-group } 
col             { display: table-column }  
colgroup        { display: table-column-group } 
td, th          { display: table-cell; } 
caption         { display: table-caption } 
th              { font-weight: bolder; text-align: center } 
caption         { text-align: center } 
body            { margin: 8px; line-height: 1.12 } 
h1              { font-size: 2em; margin: .67em 0 } 
h2              { font-size: 1.5em; margin: .75em 0 } 
h3              { font-size: 1.17em; margin: .83em 0 } 
h4, p, 
blockquote, ul, 
fieldset, form, 
ol, dl, dir, 
menu            { margin: 1.12em 0 }  

h5              { font-size: .83em; margin: 1.5em 0 } 
h6              { font-size: .75em; margin: 1.67em 0 } 
h1, h2, h3, h4, 
h5, h6, b, 
strong          { font-weight: bolder } 
blockquote      { margin-left: 40px; margin-right: 40px } 
i, cite, em, 
var, address    { font-style: italic } 
pre, tt, code, 
kbd, samp       { font-family: monospace } 
pre             { white-space: pre } 
button, textarea, 
input, object,  
select          { display:inline-block; } 
big             { font-size: 1.17em } 
small, sub, sup { font-size: .83em } 
sub             { vertical-align: sub }  
sup             { vertical-align: super } 
table           { border-spacing: 2px; } 
thead, tbody, 
tfoot           { vertical-align: middle } 
td, th          { vertical-align: inherit } 
s, strike, del  { text-decoration: line-through } 
hr              { border: 1px inset } 
ol, ul, dir, 
menu, dd        { margin-left: 40px } 
ol              { list-style-type: decimal } 
ol ul, ul ol, 
ul ul, ol ol    { margin-top: 0; margin-bottom: 0 } 
u, ins          { text-decoration: underline } 
br:before       { content: "A" } 
:before, :after { white-space: pre-line }  

center          { text-align: center } 
abbr, acronym   { font-variant: small-caps; letter-spacing: 0.1em } 
:link, :visited { text-decoration: underline } 
:focus          { outline: thin dotted invert } 

/* Begin bidirectionality settings (do not change) */ 
BDO[DIR="ltr"]  { direction: ltr; unicode-bidi: bidi-override } 
BDO[DIR="rtl"]  { direction: rtl; unicode-bidi: bidi-override } 

*[DIR="ltr"]    { direction: ltr; unicode-bidi: embed } 
*[DIR="rtl"]    { direction: rtl; unicode-bidi: embed } 

@media print { 
  h1            { page-break-before: always } 
  h1, h2, h3, 
  h4, h5, h6    { page-break-after: avoid } 
  ul, ol, dl    { page-break-before: avoid }

ie6.0对css支持不足例举

星期四, 一月 11th, 2007

在用IE中用CSS布局会出现各种问题.
本人习惯把body当然最外层的div来用.然后所有的div都float:left;进行布局,结要在此时给body设背影图片时,会出现无法解释的定位问题.特别是需要制作左边固定宽度,右边是随窗口变化的那种页面.
第二种情况,在设置:body{width:750px;margin:0px auto}这种方式合页面居中后.

<div class="layout">
   <div class="left"></div>
   <div class="right"></div>
</div>


设置样式表:
.layout{padding-left:200px;}
.left{margin-left:-200px;position:absolute;float:left;}
.right{}
这样设置方式可实现虽然意义不大.但IE在这种情况会一个问题.
在窗口变化后.left的div的定位总有所有不对,好像是针对body定位一样.

第三种
当把ul也当做div用,也就是ul也成了布局元素(本人习惯想少写一些代码,希望文件小点,这种想法虽然有些变态,但也是一种尝试).在IE会出会现一个很有意的问题,就是ul里的最后一个li的几个文字会重复出现在ul外面.却不影响后续布局.这种情况会一递传.在FF中却没有种情况.