CSS/CSS3

03 - CSS3知识点汇总一

2016-12-03  本文已影响41人  西巴撸

本文是针对刚学编程的小白,都是一些基础知识,如果想了解更多深层一点的东西,欢迎移步本人博客!!
博客地址 点击跳转

内容LongLongLong是一种情怀

朋友总说我写的博客老长老长了,谁会有耐心去阅读呢 ? 而我觉得我把全部的知识概要罗列出来,每一个路过的人至少他不用费心竭力的去网上各种搜各种找,然后还外带各种坑,学习起来太费劲 ! 也不系统 ! 如果是一个真正想进入互联网行业,想成为一个真正的工程师的人,他应该不会觉得长的.希望我的文章对你有所帮助 !


CSS格式

<style type="text/css">
        P{
            text-align: center;
            color: green;
        }
</style>

文字属性

<style>
        p{
            font-style: italic;
            /*快捷键*/
            /*fs font-style:italic; fs然后按Tab就会自动补全,其实想要写的代码首字母*/
            
            font-weight: bold;
            /*快捷键*/
            /*fwb font-weight:bold; fwb然后按Tab就会自动补全,其实想要写的代码首字母*/

            font-size: 30px;
            /*快捷键*/
            /*fz30 font-size:30px; */

            font-family: '楷体';
        }
</style>
<style>
    p{
        /*font-family: '乱七八糟的字体','微软雅黑'; *//*(备选方案用逗号隔开)*/

        font-family: 'Arial','微软雅黑';
        /*font-family: '微软雅黑','Arial';*/

        /*中文字体可以处理英文字体样式,但是英文字体无法处理中文字体样式,用备选方案即可*/
    }
</style>

文字属性的缩写

<style>
    p{
        /*font-style: italic;*/
        /*font-weight: bold;*/
        /*font-size: 30px;*/
        /*font-family: '楷体';*/

        /* 缩写格式,中间用空格隔开,style和weight可以省略和互换位置,size和family不可以省略,也不可以互换位置,size必须写在family的前面,否则没有任何效果 */

        font: italic bold 30px '楷体';

        /*14px代表字号 24代表行高 楷体代表字形 这是一个语法 缺一不可*/
        font:14px/24px "楷体";

        /*中文字体的别名*/
        font-family:"Microsoft YaHei";  /*微软雅黑*/
        font-family:"SimSun";   /*宋体*/

        /*缩写*/
        font:24px/44px "Times New Roman","Microsoft YaHei","SimSun";
    }
 </style>

文本属性

颜色的属性

1.英文单词(表达有限制,不是所有颜色都可以用英文来表达的)
2.rgb
三原色,r代表red,g代表green,b代表blue) rgb(0,0,0)里面的取值就是取色的比例,0-255
红色:rgb(255,0,0);
绿色:rgb(0,255,0);
蓝色:rgb(0,0,255);

黑色:rgb(0,0,0);
灰色:rgb(150,150,150);
只要让其中的取值都相同就是灰色,值越小越偏黑,值越大越偏白。企业开发中一般都用灰色的多

3.rgba
CSS3的时候推出来的,前面的rgb和上面的都是一样的,后面的a是代表透明度,最大值是1
4.十六进制
十六进制的本质就是rgb,例如:#FFEE00 FF代表r EE代表g 00代表b
十进制是0-9,逢十进一
十六进制是0-F,逢十六进一
十六进制和十进制转换的公式
用十六进制的第一位 x16 + 十六进制的第二位 = 十进制
15 == 1x16 + 5 = 21
12 == 1x16 + 2 = 18
FF == Fx16 + F = 15x16 + 15 = 240 + 15 = 255
00 == 0x16 + 0 = 0
5.十六进制缩写
在CSS中只要十六进制的颜色每两位的值都是一样的,那么就可以简写为一位
例如:#FF0000 = #F00
6.注意点:
如果当前颜色对应的数字不一样,那就不能简写,例如:#123455
如果两位相同的数字不是属于同一个颜色的,也不能简写,例如:#122334

标签选择器

1.标签选择器选中的是当前界面中所有的标签,而不能单独选中某一个标签
2.标签选择器无论标签藏的多深,被包裹几层,都能选中
3.只要是HTML中的标签就可以作为标签选择器

    <style>
        p{    /* p标签 就是一个标签选择器 */
           color: red;
        }
    </style>

id选择器

1.每个HTML标签都有一个属性就做id,每个标签都可以设置id
2.id是独一无二的,必须是唯一的
3.id选择器前面必须加 #
4.id的名称只能由字母/数字/下划线 (a-z,0-9,_),其他的一律不行
5.id的名称不能由数字开头
6.id名称不能是HTML标签的名称(a,img,h1...)
7.在开发中一般情况下如果只是为了设置样式,我们不会用id,因为在前端开发中id是留给js使

<p id="identity1">迟到毁一生</p>
<p id="identity2">早退穷三代</p>
<p id="identity3">按时上下班</p>
<p id="identity4">必成高富帅</p>
    <style>
        #identity1{
            color: red;
        }
        #identity2{
            color: blue;
        }
        #identity3{
            color: green;
        }
        #identity4{
            color: yellow;
        }
    </style>

类选择器

1.每个HTML标签都有一个属性就做class,每个标签都可以设置class
2.class是可以重复的
3.id选择器前面必须加 .
4.类名的命名规范和id名称的命名规范一样
5.类名就是专门用来给某个特定的标签设置样式的
6.在HTML中每一个标签可以同时绑定多个类名
7.格式:
<标签名称 class="类名1 类名2...">
<p class="类名1" class="类名2" ...></p> 错误的写法

id选择器和class选择器的区别

1.id一般情况下是给js使用的,所以除非是特殊情况,否则不要使用id去设置样式
2.在企业开发中一个开发人员对类的使用可以看出这个开发人员的技术水平
3.一般情况在企业开发中要注重冗余代码的抽取,可以将一些公共的代码抽取到一个类选择器中,然后让标签和这个类 选择器绑定即可

后代选择器

1.后代选择器必须用空格隔开
2.后代选择器不仅仅是儿子,也包括孙子/重孙子,只要最终是放到指定标签中的都是后代
3.后代选择器不仅仅可以使用标签的名称,还可以选择其他的选择器**

子元素选择器

1.子元素选择器只会查找儿子,不会查找其他的元素
2.子元素选择器之间需要用>符号链接 不能有空格
3.子元素选择器不仅仅可以使用标签的名称,还可以选择其他的选择器
4.子元素选择器可以通过>符号一直延续下去

<p>我是段落</p>
<div id="identity">
    <p>我是段落</p>
    <p>我是段落</p>
    <ul>
        <li>
            <p>我是段落</p>
        </li>
    </ul>
</div>
<p>我是段落</p>
    <style>
        /*
        div>p{
            color: red;
        }
        */
        /*
        #identity>p{
            color: red;
        }
        */
        div>ul>li>p{
            color: red;
        }
    </style>

后代选择器和子元素选择器

区别

共同点

交集选择器

1.选择器和选择器之间没有任何的连接符号
2.选择器可以使用标签名称/id名称/class名称
3.只做了解 开发中很少用到

<p class="para1" id="identity">我是段落</p>
<p class="para1">我是段落</p>
p.para1#identity{    color: red;}

并集选择器

1.并集选择器必须用,隔开
2.选择器可以使用标签名称/id名称/class名称

<h1 class="ht">我是标题</h1>
<p class="para">我是段落</p>
    <style>
        /*
        .ht{
            color: red;
        }
        .para{
            color: red;
        }
        */
        .ht,.para{
            color:blue;
        }
    </style>

兄弟选择器

相邻兄弟选择器 CSS2

1.相邻兄弟选择器之间必须用+连接起来
2.相邻兄弟选择器只能选择紧跟其后的那个标签 不能选中被隔开的标签

通用兄弟选择器=

<h1 class="ht">我是标题</h1>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
<h1>我是标题</h1>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
    <style>
        /*
        .ht+p{
            color: red;
        }
        */
        h1~p{
            color: blue;
        }
    </style>

序选择器

CSS3中新增的选择器最具代表的就是序选择器

同级别中的第几个

同级别同类型中的第几个

    <style>
        p:first-child{
            color: red;
        }
        p:first-of-type{
            color: blue;
        }
        p:last-child{
            color: red;
        }
        p:last-of-type{
            color: blue;
        }
        p:nth-child(3){
            color: green;
        }
        p:nth-of-type(3){
            color: red;
        }
        p:nth-last-child(2){
            color: red;
        }
        p:nth-last-of-type(2){
            color: red;
        }
        p:only-child{
            color: purple;
        }
        p:only-of-type{
            color: red;
        }
        p:nth-child(odd){
            color: red;
        }
        p:nth-child(even){
            color: blue;
        }
        p:nth-of-type(odd){
            color: red;
        }
        p:nth-of-type(even){
            color: blue;
        }
        p:nth-child(2n+0){
            color: red;
        }
        p:nth-child(3n+0){
            color: red;
        }
    </style>

属性选择器

input[type=password]{}
<input type="text" name="" id="">
<input type="password" name="" id="">
<input type="checkbox" name="" id="">
<input type="radio" name="" id="">
<p id="identity1">我是段落1</p>
<p id="identity2" class="cc">我是段落2</p>
<p class="cc">我是段落3</p>
<p id="identity3" class="para">我是段落4</p>
<p>我是段落5</p>
    <style>
        /*
        p[id]{
            color: red;
        }
        */
        p[class=cc]{
            color: blue;
        }
    </style>

属性选择器2

属性取值是以什么开头的

1.CSS2中的只能找到value开头 value是被-和其他内容隔开的
2.CSS中只要是以value开头的都可以找到,无论它是不是被隔开
3.属性的取值是以什么结尾的
[attribute$=value] CSS3
4.属性的取值是否包含某个特定的值
[attribute~=value] CSS2
[attribute
=value] CSS3
*

<img src="" alt="abcwwwmmm">
<img src="" alt="wwwmmmabc">
<img src="" alt="wwwabcmmm">
<img src="" alt="def abc">
<img src="" alt="ppp abc">
    <style>
        /*
        img[alt^=abc]{
            color: red;
        }
        */
        /*
        img[alt|=abc]{
            color: red;
        }
        img[alt$=abc]{
            color: blue;
        }
        */
        img[alt*=abc]{
            color: red;
        }
    </style>

通配符选择器

    <style>
        /* 不推荐使用 */
        *{
            margin:0;
            padding:0;
        }
    </style>

CSS三大特性之继承性

什么是继承性

** 1.并不是所有的属性都可以继承 只有以color/font-/text-/line开头的属性才可以继承
2.在CSS的继承中 不仅仅是儿子可以继承 只要是后代 都可以继承
3.CSS继承性中的特殊性
a标签的文字颜色和下划线是不能继承的
h标签的文字大小是不能继承的**

<div>
    <p>我是段落</p>
</div>
<div>
    <ul>
        <li>
            <p>我是段落</p>
        </li>
    </ul>
</div>
<div>
    <a href="#">我是超链接</a>
</div>
<div>
    <h1>我是大标题</h1>
</div>
    <style>
        div{
            color:red;
            font-size: 30px;
        }
    </style>

CSS三大特性之层叠性

什么是层叠性

<p id="identity" class="para">我是段落</p>
    <style>
        p{
            color: red;
        }
        .para{
            color: blue;
        }
    </style>

CSS三大特性之优先级

什么是优先级

1.是否是直接选中(间接选中就是继承) 遵循就近原则 谁离的近 就层叠谁的样式
2.相同的选择器 如果都是直接选中 都是同类型的选择器 谁写在后面就层叠谁的样式
3.不同的选择器 如果都是直接选中 但是是不同类型的选择器
id>类>标签>通配符>继承>浏览器默认

<ul>
    <lu>
        <li>
            <p id="identity" class="para">我是段落</p>
        </li>
    </lu>
</ul>
    <style>
        p{}
        #identity{}
        .para{}
        ul{
            color: red;
        }
        li{
            color: blue;
        }
    </style>

优先级之 important

<ul>
    <lu>
        <li>
            <p id="identity" class="para">我是段落</p>
        </li>
    </lu>
</ul>
    <style>
        #identity{
            color: red;
        }
        p{
            color: deepskyblue ;
        }
        li{
            color: blue !important; (间接选中的无效)
        }
    </style>

优先级之权重问题

权重的计算规则

<div id="identity" class="box1">
    <ul>
        <li>
            <p id="identity1" class="box2">我是段落</p>
        </li>
    </ul>
</div>
    <style>
        #identity1.box2{
            color: red;
        }
        .box1 .box2{
            color: aqua;
        }
        div ul li p{
            color: blue;
        }
    </style>

div和span标签

div

span

div和span有什么区别

容器级的标签

CSS元素的显示模式

块级标签 特点:独占一行

行内标签 特点:不会独占一行

块级标签和行内标签的区别

1.独占一行
2.如果没有设置宽度 默认和父元素一样宽高
3.如果设置了宽高 那就按照设置的来显示

1.不会独占一行
2.如果没有设置宽度 默认和字体宽度一样
3.行内标签是不可以设置宽度和高度**

<div>我是div</div>
<p>我是段落</p>
<h1>我是标题</h1>
<hr>
<span>我是span</span>
<b>我是加粗</b>
<strong>我是强调</strong>
<hr>
![](images/picture.jpg)
![](images/picture.jpg)
<style>
        div{
            background-color: red;
            width: 200px;
            height: 100px;

        }
        img{
            width: 50px;
            height: 50px;
        }
</style>
**显示模式**

CSS显示模式转换

inline ----- > 行内
block ------ > 块级
inline-block -----> 行内块级

<div>我是div</div>
<div>我是div</div>
<span>我是span</span>
<span>我是span</span>
<p class="cc">我是段落</p>
<b class="cc">我是加粗</b>
    <style>
        div{
            display: inline;
            background: red;
            width: 200px;
            height: 200px;
        }
        span{
            display: block;
            width: 200px;
            height: 200px;
            background: green;
        }
        .cc{
            background: blue;
            width: 200px;
            height: 200px;
            display: inline-block;
            /*
            快捷键
            di display: inline;
            db display: block;
            dib display: inline-block;
          */
        }
    </style>

书山有路勤为径 学海无涯苦作舟

更多精彩内容 请点击跳转

上一篇下一篇

猜你喜欢

热点阅读