• 写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
  • 相关阅读:
    cmake使用
    CMake...
    信息熵相关知识总结
    最强NLP模型-BERT
    问答系统总结
    检索问答模型
    文本分类-TextCNN
    机器学习-Logistic回归
    Attention注意力机制介绍
    机器学习-聚类Clustering
  • 原文地址:https://www.cnblogs.com/JoannaQ/p/2664739.html
Copyright © 2020-2023  润新知