css学习(一)-CSS基础、css选择器

1)理论:

一.CSS基础:
1.css3的新特性:
a.强大的css3选择器
b.抛弃图片的视觉效果
c.背景的变革
d.盒模型变化
e.阴影效果
f.多列布局与弹性盒模型布局
g.web字体和web font图标
h.颜色与透明度
i.圆角与边框的新法
j.盒容器的变形
i.css3过渡与动画交互效果
j.媒体特性与Responsive布局
2.使用css3的好处:
a.减少开发与维护的成本
b.提高页面性能
3.渐进增强:
a.在设计的时候先考虑低端设备用户能否看到所有的内容,然后在此基础上为所有高端用户进行设计。这称为“优雅降级”
二.css选择器:
1.基本选择器:
a.通配选择器:(*)用来选择所有元素
b.元素选择器:(E)用来坂HTML元素
c.ID选择器:根据元素ID来找到对应的元素
d.类选择器:以独立于文档元素的方式来指定元素的样式。类选择器在一个页面中可以有多个相同的类名
e.多类选择器:如果一个多类选择器包含的类名中其中有一个不存在,这个选择器将无法找到匹配的元素
f.群组选择器:将具有相同样式的元素分组在一起
2.层次选择器:
a.E F(后台选择器): F包含在E元素内
b.E>F(子选择器):F元素是E元素的子元素
c.E+F(相邻兄弟选择器):F紧邻在E元素后面
d.E~F(通用选择器):位于匹配E元素后面所有匹配的F元素
3.动态伪类选择器:
a.E:link(链接伪类选择器):未访问过的链接或锚点
b.E:visited(链接伪类选择器):已访问过的链接或锚点
c.E:active(用户行为伪类选择器):匹配元素被激活,常用于锚点与按钮上
d.E:hover(用户行为伪类选择器):鼠标停留时激活
e.E:focus(用户行为伪类选择器):元素获得焦点

2)实践:

1.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css basic</title>
    <style type="text/css">
        *{margin: 0;padding:0;}
        .clearfix:after,    .clearfix:before{display:table;content:""}
        .clearfix:after{
            clear:both;
            overflow: hidden;
        }
        .demo{
            width:250px;
            border:1px solid #ccc;
            padding:10px;
            margin:20px auto
        }
        .demo *{
            background: orange;
        }
        ul{
            background: grey;
        }
        li {
            list-style:none outside none;
            float:left;
            height:20px;
            line-height: 20px;
            width:20px;
            border-radius: 10px;
            text-align:center;
            background: #f36;
            color:green;
            margin-right: 5px;
        }
        #first{
            background: lime;color:#000;
        }
        #last{
            background: #000;color:lime;
        }
        .item{
            background: green;
            color:#fff;
            font-weight: bold;
        }
        .item.important{
            background: red;
        }
    </style>
</head>
<body>/home/abc/test/css/2-1.html
<ul class="clearfix demo">
    <li class = "first" id = "first">1</li>
    <li class="active">2</li>
    <li class="important item">3</li>
    <li class="important">4</li>
    <li class="item">5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li class = "last" id ="last">10</li>
</ul>
</body>
</html>
2.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        *{
            margin:0;
            padding: 0;
        }
        body{
            width:300px;
            margin:0 auto;
        }
        div{
            margin:5px;
            padding:5px;
            border:1px solid #ccc;
        }
        div div {
            background: orange;
        }
        body > div{
            background: green;
        }
        .active + div{
            background: lime;
        }
        .active ~ div{
            background: red;
        }
    </style>
</head>
<body>
    <div class ="active">1</div>
    <div>2</div>
    <div>3</div>
    <div>4
        <div>5</div>
        <div>6</div>
    </div>
    <div>7
        <div>8
            <div>9
                <div>10</div>
            </div>
        </div>
    </div>
</body>
</html>
3.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        .download-info{
            text-align: center;
        }
        .btn{
            background-color: #0074cc;
            *background-color:#0055cc;
            background-image: -ms-linear-gradient(top,#0088cc,#0055cc);
            border-image: -webkit-gradient(linear,0 0,0 100%,from(#0088cc),to(#0055cc));
            border-image: -webkit-linear-gradien(top,#0088cc,#0055cc);
            border-image: -o-linear-gradient(top,#0088cc,#0055cc);
            border-image: -moz-linear-gradien(top,#0088cc,#0055cc);
            border-image: linear-gradient(top,#0088cc,#0055cc);
            border-image: linear-gradient(top,#0088cc,#0055cc);
            background-repeat: repeat-x;
            display: inline-block;
            *display:inline;
            border:1px solid #cccccc;
            *border:0;
            border-color: #ccc;
            border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
            border-radius: 6px;
            color: #ffffff;
            font-size: 20px;
            font-weight: 20px;
            font-weight: normal;
            filter:progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc',endColorstr='#0055cc',GradientType=0);
            filter: progid:dximagetransform.microsoft.gradient(enabled=false);
            line-height: normal;
            padding:14px 24px;
            text-align: center;
            text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
            text-decoration: none;
            vertical-align: middle;
            *zoom:1;
        }

        .btn:hover{
            background-position: 0 -15px;
            background-color: #0055cc;
            *background-color:#004ab3;
            color:#ffffff;
            text-decoration: none;
            text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
            text-decoration: none;
            text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
            -webkit-transition:background-position 0.1s linear;
            -moz-transition: background-position 0.1s linear;
            -ma-transition:background-position 0.1s linear;
            -o-transition: background-position 0.1s linear;
        }

        .btn:active{
            background-color: #0055cc;
            *background-color:#004ab3;
            background-color: #004099 \9;
            background-image: none;
            outline: 0;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
            color:rgba(255,255,255,0.75);
        }

        .btn:focus{
            outline:thin dotted #333;
            outline:5px auto -webkit-focus-ring-color;
            outline-offset:-2px;
        }
    </style>
</head>
<body>
    <div class = "download-info">
        <a href="#" class = "btn">View project on GitHub</a>
    </div>
</body>
</html>
4.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        .accordionMenu{
            background: #fff;
            color:#424242;
            font:12px Arial,Verdana,sans-serif;
            margin: 0 auto;
            padding: 10px;
            width:500px;
        }
        .accordionMenu h2{
            margin:5px 0;
            padding: 0;
            position: relative;
        }
        .accordionMenu h2:before{
            border:5px solid #fff;
            border-color: #fff transparent transparent;
            content:"";
            height: 0;
            position: absolute;
            right: 10px;
            top:15px;
            width:0;
        }
        .accordionMenu h2 a{
            background: #8f8f8f;
            background: -moz-linear-gradient(top,#cecece,#8f8f8f);
            background: -webkit-gradient(linear,left top,left bottom,from(#cecece),to(#8f8f8f));
            background: -webkit-linear-gradient(top,#cecece,#8f8f8f);
            background: -o-linear-gradient(top,#cecece,#8f8f8f);
            background: linear-gradient(top,#cecece,#8f8f8f);
            border-radius: 5px;
            color:#424242;
            display: block;
            font-size: 13px;
            font-weight: normal;
            margin:0;
            padding: 10px 10px;
            margin:0;
            padding: 10px;
            text-shadow: 2px 2px 2px #aeaeae;
            text-decoration: none;
        }
        .accordionMenu :target h2 a,
        .accordionMenu h2 a:focus,
        .accordionMenu h2 a:hover,
        .accordionMenu h2 a:active{
            background: #2288dd;
            background: -moz-linear-gradient(top,#6bb2ff,#2288dd);
            background: -webkit-gradient(linear,left top,left bottom,from(#6bb2ff),to(#2288dd));
            background: -webkit-linear-gradient(top,#6bb2ff,#2288dd);
            background: -o-linear-gradient(top,#6bb2ff,#2288dd);
            background: linear-gradient(top,#6bb2ff,#2288dd);
            color:#FFF;
        }
        .accordionMenu p{
            margin:0;
            height:0;
            overflow: hidden;
            padding: 0 10px;
            -moz-transition:height 0.5s ease-in;
            -webkit-transition:height 0.5s ease-in;
            -o-transition: height 0.5s ease-in;
            transition: height 0.5s ease-in;
        }

        .accordionMenu :target p{
            height:100px;
            overflow: auto;
        }
        .accordionMenu :target h2:before{
            border-color: transparent transparent transparent #fff;
        }
    </style>
</head>
<body>
    <div class="accordionMenu">
        <div class = "menuSection" id ="brand">
            <h2><a href="#brand">Brand</a> </h2>
            <p>Lorem ipsum dolor...</p>
        </div>
        <div class = "menuSection" id = "promotion">
            <h2><a href = "#promotion">Promotion</a></h2>
            <p>Lorem ipsum dolor sit amnt2...</p>
        </div>
        <div class="menuSection" id = "event">
            <h2><a href ="#event">Event3</a></h2>
        <p>Lorem ipsum dolor sit emet...3</p>
        </div>
    </div>
</body>
</html>
5.

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        :lang(en){
            quotes: '"' '"';
        }
        :lang(en) {background: red;}

        :lang(fr){
            quotes:'<<' '>>';
        }
        :lang(fr) q {background: green;}
    </style>
</head>
<body>
<p>target is test
<q cite="www.test.comet">
    build a future where people live in harmony with nature
</q>we hope they succeed.</p>
</body>
</html>


你可能感兴趣的:(html,css3,布局)