写CSS和CSS3的一些基本原则

一、设置body标记的 CSS 基础样式

body{
 background-color:#EEEEEE;
 color:#000000;
 margin: 0;
 padding: 0;
 text-align: left;
 font-size: 100%;
 font-family: sans-serif;
 }

将背景颜色设置为白色 (background-color),以确保字体颜色是黑色的 (color)。它还可确保所有内容边缘都与浏览器窗口边框相匹配(margin 和 padding),而且标记将文本内容向左水平对齐 (text-align)。最后,该样式将字号设置为浏览器默认字号 (font-size) 并使用一个 sans-serif(也就是一种边缘四周没有细微装饰的字体)字体集 (font-family)

二、使用CSS3增强的 < div> 效果

如:圆角功能

webkit-border-radius:10px;
 -moz-border-radius:10px;
 border-radius:10px;

让该标记适用于基于 Mozilla(比如 Mozilla Firefox)和基于 Webkit(比如 Apple Safari)的旧浏览器。如果您愿意,可以将上述 3 个属性设置为不同值并让样式在 Firefox 和 Google Chrome 中显示不同的效果。

如:边框的阴影功能

webkit-box-shadow:8px 8px 6px #AAAAAA;
 -moz-box-shadow:8px 8px 6px #AAAAAA;
 box-shadow:8px 8px 6px #AAAAAA;

第一个属性是水平阴影,第二个是垂直阴影,第三个是模糊量,第四个是阴影的颜色。可以在模糊量和阴影之间放置另一个属性(另一个与阴影的覆盖范围相关的大小值),但是此属性似乎没有广泛使用。

如:文字的阴影功能

li { text-shadow:2px 2px 2px #AA00FF; }
ul#nav li:hover { text-shadow:2px 2px 2px #AA00FF; }

三、CSS3 属性增强的 CSS 导航示例

a, a:link, a:active, a:visited {
 color:#000000;
 text-decoration:none;
 font-weight:bold;
 background-color:#EEEEEE;
 }
 li {
 text-align:center;
 list-style-type:none;
 width:50px;
 padding:10px;
 margin:10px;
 background-color:#EEEEEE;
 border:1pxsolid#000000;
 -webkit-border-radius:10px;
 -moz-border-radius:10px;
 border-radius:10px;
 -moz-transform:rotate(-20deg);
 -webkit-transform:rotate(-20deg);
 transform:rotate(-20deg);
 }
 li:hover {
 text-decoration:underline;
 background-color:#FFFFAA;
 }

四、创建没有表格的列

 <div id="left" class="equal-column"> < /div>
 < div id="right" class="equal-column"> < /div>
 < div class="something-below"> < /div>

css为

 div.equal-column { width:45%; height:100%: }
 div#left{ float:left; }
 div#right{ float:right; }
 div.something-below{ width:100%; clear:both;}

将两列都设置为宽 45%,然后将左侧的列固定到左侧,将右侧的列固定到右侧。最后,使用另一个带有类 something-below 的 < div>,我们希望它占据两列下的整个屏幕。这是一种有用的技术,可用于快速、轻松地在屏幕上获得两列

在 CSS3 中,还有另一个巧妙的概念,那就是文本列。换句话说,如果 column-count 属性设置为一个数字,一个段略会自动拆分为两段:

div#textual-columns {
 -webkit-column-count:2;
 -moz-column-count:2;
 column-count:2;
 }

五、使用网络字体

Google Font API 和 Typekit 提供了它们自己的系统来跨系统下载漂亮的字体。它的工作原理类似于 (X)HTML、JavaScript 和 CSS3 的结合,所以可能仅适用于比较现代的浏览器。

至于现在,我们主要关注 Google Font API,它可以免费、轻松地使用。要应用此功能,首先在 (X)HTML 头部添加一行表明您希望使用 Google Font Directory 中的 Architects Daughter 字体

< link href='http://fonts.googleapis.com/css?family=Architects+Daughter'rel='stylesheet'type='text/css'>

然后,使用 CSS 应用样式:

body { font-family:'Architects Daughter',serif;}

 网站现在使用了 Architects Daughter Google 字体。但是,我的建议是不要为整个网站使用 “太过漂亮的” 字体。请确保您的网站继续保持干净、紧凑和清新。

六、其他

1、3像素问题及解决办法
当使用float浮动容器后,在IE6下会产生3px的空隙,有意思的是右侧容器没设置高度时3px在右侧容器内部,当设定高度后又跑到容器的左侧了,所以对布局精度要求高的话,解决方法:加一个空白DIV,并设置样式clear:both;
2、上边容器浮动后,下边的容器跟着浮动,造成页面错乱
如footer必须要单独占一行,但当sidebar浮动后,content的高度小于 sidebar的高度时,footer也跟着浮动到sidebar右侧了,造成页面错乱。解决办法是在maincontent和footer之间插入一个 容器,设置样式 clear:both; height:0; font-size: 1px; line-height: 0px;用clear:both清除,即可使页面正常
3、当子元素浮动且未知高度时,怎么使父容器适应子元素的高度?
这种情况可在父窗口加上 overflow:auto;zoom:1;这两个样式属性,overflow:auto;是让父容器来自适应内部容器的高度,zoom:1;是为了兼容 IE6而使用的CSS HACK。zoom:1;通不过W3C的验证,这也是遗憾的一点,幸好IE支持<!--[if IE]>这种写法,可以专门针对IE来写单独的样式,所以可以把这个属性写在页面内的<!--[if IE]>中,这样应该可以通过验证了
4、相对定位与绝对定位
规划页面时,许多时候需要用到相对定位或绝对定位,这里边有个技巧,掌握后有些地方就不用繁冗的js了。就是当父容器使用相对定位后,此时子元素再使用绝对定位,位置是相对于父元素。如果父元素没有定位,那么子元素的绝对定位是相对于浏览器
5、IE6双倍边距bug
当页面内有多个连续浮动时,如图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况。如外边距设置为10px,而左侧则呈现出20px,解决它的方法是在浮动元素上加上display:inline;的样式,这样就可避免双倍边距bug

转载于:https://www.cnblogs.com/JoannaQ/archive/2012/08/31/2664739.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值