zoukankan      html  css  js  c++  java
  • css基础1

    今天是2019年6月15日周六,老师给我们讲了css的第一节课:css基础部分,写个随笔留个印记!

    一、css的概念

    css:cascading style sheet 中午翻译过来就是层叠样式表,它主要是用于定义HTML的内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等

    优势: 1、实现了内容与表现的分离

        2、提高了代码的可维护性

    使用场景:能用css取代Html属性就要用到css,有些属性无法取代:如input属性的 type ,img属性的alt。

    二、css的三种引入方式

    1、行内样式(内联样式)

    语法:新增标签的style属性在style属性的值中写css

    格式:css属性1:属性值1;css属性2:属性值2;

    特点:01,没有实现内容如表现的分离,只针对当前标签有效。

       02,优先级别最高

    使用场景:通过js动态给一些元素加样式

    <body>
        <div style="100px;height:100px;background:red;">
        </div>          
    </body>    

    2、内部样式表

    语法:在头部新增style标签,在style标签的内容中写css。

    选择器:规定了页面上哪些元素可以使用定义好的css

    格式:选择器 {

        css属性:属性值;

       }

    特点:01,没有实现内容与表现的分离

          02,有一定的可重用性和可维护性

    使用场景: 没有使用场景

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>内部样式表</title>
            <style>
                div {
                    width: 200px;
                    height: 200px;
                    background: red;
                }
            </style>
        </head>
        <body>
            <div id="box">我是div</div>
        </body>
    </html>

    3、外部样式表

    语法:新建外部以.css结尾的文件,将所有的css代码写在外部的文件中,在需要使用的Html中通过link引入。

    格式:<link rel="stylesheet" href="css路径"> 

    注释:html注释  <!--html注释-->  css注释  /*css注释*/

    html部分:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>外部样式表</title>
            <link rel="stylesheet" href="css/common.css">
            <link rel="stylesheet" href="css/style.css">
        </head>
        <body>
            <div class="box"></div>
        </body>
    </html>

    css部分:

    .box {
        width: 299px;
        height: 200px;
        background: pink;
    }

    三、css样式表的特征

    1、继承性:大多数css属性是可以被继承的,例如字体、文本相关样式可以被继承;宽度、高度、边框、背景等等不能继承。由于标签嵌套出现父子关系、祖先后代关系(包括父子关系)也可以被继承。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>继承性</title>
            <style>
                div {
                    color: purple;
                }
            </style>
        </head>
        <body>
            <div>
                我是div文本内容
                <p>我是p文本内容</p>
            </div>
        </body>
    </html>

    2、层叠性:如果代码多处都找到同一个标签,设置了很多样式,在不冲突的情况下,这些样式会层叠为一个,共同作用到标签上。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>层叠性</title>
            <style>
                div {
                    width: 400px;
                    height: 400px;
                    background: pink;
                }
            </style>
        </head>
        <body>
            <div style=" 300px"></div>
        </body>
    </html>

    3、优先级别:

                   01,浏览器缺省设置:user agent stylesheet (优先级别最低)

                   02,内部样式表和外部样式表优先级别一样,采取就近原则,谁在下以谁为准。

                   03,内联优先级别最高

                   04,!important手动提高优先级别,写在需要提高优先级css属性的后面以空格分割,需谨慎使用。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>important</title>
            <style>
                div {
                    width: 400px !important;
                    height: 400px;
                    background: orange;
                }
            </style>
                    <link rel="stylesheet" href="style.css">
        </head>
        <body>
            <div style=" 800px"></div>
        </body>
    </html>

    四、css选择器

    概念:规定了页面上哪些元素可以使用定义好的样式

    1、通配符:通用选择器

    语法:* {

          css代码

      }

    功能: 匹配页面上所有的元素

    注意:要谨慎使用,效率比较低。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>通配符</title>
            <style>
                * {
                    color: orange;
                }
            </style>
        </head>
        <body>
            <div>我是div</div>
            <p>我是p段落</p>
            <span>我是span标签</span>
        </body>
    </html>

    2、标签选择器(元素选择器)

    语法:将标签名作为选择器

    使用场景:一般用于定义标签的默认样式,或者去除标签默认样式,使用场景很少。在Html、css中如Html,body,p,h1-h6,ul,li,ol这些元素都带有默认的外边距和内边距。

    3、类选择器

    语法:.class值 {

          css代码

    }

    属性:class属性的功能就是将标签分类,注意不是以标签名分类。

    class属性的值命名规范:由字母数字下划线分隔符组成,尽量不要使用拼音,英文名应见名知意。注意:当这个类由多个单词组成,中间使用下划线或分隔符隔开。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>类选择器</title>
            <style>
                .zhy {
                    width: 300px;
                    height: 300px;
                    background: pink;
                }
                .zy {
                    width: 400px;
                    height: 400px;
                    background: blue;
                }
                .zjx {
                    width: 500px;
                    height: 500px;
                    background: orange;
                }
            </style>
        </head>
        <body>
            <div class="zhy">我是zhy</div>
            <div class="zy">我是zy</div>
            <div class="zjx">我是zjx</div>
        </body>
    </html>

    4、分类选择器

    语法:将标签选择器和类选择器结合起来使用,从而实现对于一些元素不同属性精确定义。

    格式:标签选择器.class值 {

          css代码

    }

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>分类选择器</title>
            <style>
                .box {
                    width: 200px;
                    height: 200px;
                    background: orange;
                }
                p.zhy {
                    color: red;
                }
            </style>
        </head>
        <body>
            <div class="box">div标签</div>
            <p class="zhy">p标签</p>
        </body>
    </html>

     5、多类选择器

    定义:class属性可以定义多个值,多个值之间以空格分割。

    含义:一个标签具有class属性且值为多个。

    使用场景:用于提升选择器的优先级

    格式:.属性值1.属性值2.属性值3 {

          css样式

    }

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>分类选择器</title>
            <style>
                .box {
                    width: 200px;
                    height: 200px;
                    background: orange;
                    margin-top: 10px;
                }
                .zy {
                    color: black;
                }
                .zhy {
                    color: red;
                }
                .zjx {
                    color: purple;
                }
                .box.zjx.zxm {
                    font-size: 25px;
                }
            </style>
        </head>
        <body>
            <div class="box zy">div1</div>
            <div class="box zhy">div2</div>
            <div class="box zjx zxm">div3</div>
        </body>
    </html>

    6、id选择器

    定义:给一个标签设置一个id属性,通过选择id属性的值来选择这个标签。

    注意:一个id属性只能有一个值,不能和其他标签的id属性重复。id属性是一个标签独一无二的身份证明。

    语法:#id值 {

        css代码

    }

    使用场景:在静态页布局中用于最外层的盒子

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>id选择器</title>
            <style>
                #box {
                    width: 200px;
                    height: 200px;
                    background: orange;
                }
            </style>
        </head>
        <body>
            <div id="box">我是div</div>
        </body>
    </html>

    7、群组选择器

    功能:定义多个选择器的公共样式

    语法: 选择器1,选择器2,选择器3...选择器 {

            css样式

    }

    8、子代选择器:由于标签的嵌套,标签之间会产生两种关系:父子关系和祖先后代(包含父子)的关系。

    格式:选择器1>选择器2

    注意:选择器1和选择器2之间的关系是父子的关系,最终选中的是选择器2。

    9、后代选择器

    格式:选择器1 选择器2 

    注意:选择器1和选择器2之间的关系是祖先后代关系,最终选中的是选择器2。

    备注:祖先后代是包含子代的。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>子后代选择器</title>
            <style>
                #box>div {
                    color: red;
                }
                #box div {
                    color: blue;
                }
                #box .zhy {
                    color: orange;
                }
            </style>
        </head>
        <body>
            <div id="box">
                <div class="zhy">
                    子代div标签
                    <div>
                        后代div标签
                        <span>我是
                            <a href="#">a标签</a>
                        </span>
                    </div>
                </div>
            </div>
        </body>
    </html>

    10、伪类选择器:正常情况下选择的是元素,伪类选择器选中的是选中的一种状态。

    动态伪类:1、hover:匹配元素鼠标移入时的状态

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>hover</title>
            <style>
                #box { 
                    width: 200px;
                    height: 200px;
                    background: orange;
                }
                #box:hover {
                    width: 300px;
                    height: 300px;
                    background: purple;
                }
            </style>
        </head>
        <body>
            <div id="box" class="zhy"></div>
        </body>
    </html>

    2、focus:获取焦点时的状态,匹配的是表单控件。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>focus</title>
            <style>
                input:focus {
                    width: 400px;
                }
            </style>
        </head>
        <body>
            <input type="text">
        </body>
    </html>

     3、active:匹配元素激活时的状态,一般用于a标签。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>active</title>
            <style>
                a:active {
                    color: green;
                }
    
                a:link {
                    color: red;
                }
    
                a:visited {
                    color: pink;
                }
        </style>
        </head>
        <body>
            <a href="#">我是超链接</a>
        </body>
    </html>

    链接伪类:1、link:访问前的状态

          2、visited:访问后的状态

    未完,待续!

  • 相关阅读:
    【LeetCode-链表】环形链表
    【LeetCode-数学】快乐数
    【LeetCode-位运算】只出现一次的数字
    【LeetCode-查找】山脉数组中查找目标值
    【LeetCode-查找】寻找旋转排序数组中的最小值 II
    【LeetCode-查找】寻找旋转排序数组中的最小值
    Linux基础命令mount /umount
    磁盘分区(Gdisk分区)
    磁盘分区( Fdisk分区)
    Linux基础练习题7.31
  • 原文地址:https://www.cnblogs.com/woheni/p/11028695.html
Copyright © 2011-2022 走看看