zoukankan      html  css  js  c++  java
  • 前端 -- css

    css样式的引入

    1. 行内引入

    <div>
        <p style="color: green">我是一个段落</p>
    </div>
    行内引入

    2. 内接样式

    <style type="text/css">
        /*写我们的css代码*/
            
        span{
        color: yellow;
        }
    
    </style>
    内接样式

    3. 外接样式 - 链接式

    <link rel="stylesheet" href="./index.css">
    外接样式 - 链接式

    4. 外接样式 - 导入式

    <style type="text/css">
            @import url('./index.css');
    </style> 
    外接样式 - 导入式

    最简单的基本样式

     <style>
            div{
                color: red;
                width: 200px;
                height: 200px;
                /*background-color: yellow;*/
            }
        </style>
    基本样式

    基本选择器

    标签选择器

    标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 "共性" 而不是 ”特性“

    body{
        color:gray;
        font-size: 12px;
    }
    /*标签选择器*/
    p{
        color: red;
    font-size: 20px;
    }
    span{
        color: yellow;
    }
    标签选择器

    类选择器

    所谓类:就是class . class与id非常相似 任何的标签都可以加类,但是类是可以重复,属于归类的概念。同一个标签中可以携带多个类,用空格隔开

    .lv{
         color: green;
     
     }
     .big{
         font-size: 40px;
     }
     .line{
        text-decoration: underline;
    
      }
    类选择器
    <!-- 公共类    共有的属性 -->
         <div>
             <p class="lv big">段落1</p>
             <p class="lv line">段落2</p>
             <p class="line big">段落3</p>
    </div>
    HTML部分

    id选择器

    同一个页面中id不能重复。

    任何的标签都可以设置id ,id命名规范 要以字母 可以有数字 下划线 - 大小写严格区分 aa和AA是两个不一样的属性值

    #box{
        background:green;
    }
                
    #s1{
        color: red;
    }
    
    #s2{
        font-size: 30px;
    }
    id选择器
    <body>
        <div id="box">娃哈哈</div>
        <div id="s1">爽歪歪</div>
        <div id="s2">QQ星</div>
    </body>
    HTML部分

    通用选择器

    所有的标签都会被选中

    * {color : red;}    
    通用选择器

    高级选择器

    后代选择器

    使用空格表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子)

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           div span{
               color: tomato;
            }
        </style>
    </head>
    <body>
        <div>
            我是div标签的content
            <span>西红柿色1</span>
            <p>
                在div-p标签中
               <span>西红柿色2</span>
            </p>
        </div>
        <span>我只是一个单纯的span标签</span>
    </body>
    后代选择器

    子代选择器

    使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子....)元素p

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           div>span{
               color: tomato;
            }
        </style>
    </head>
    <body>
        <div>
            我是div标签的content
            <span>西红柿色1</span>
            <p>
                在div-p标签中
               <span>西红柿色2</span>
            </p>
        </div>
        <span>我只是一个单纯的span标签</span>
    </body>
    子代选择器

    毗邻选择器

    使用+表示毗邻选择器。比如span+a,只找span标签下面一个的a标签,找不到就算了

    <style>
           span+a{
               color: tomato;
            }
        </style>
        <div>
            <a>我是a0标签</a>
            <span>span标签</span>
            <a>我是a1标签</a>  <!--变色-->
            <a>我是a2标签</a>
        </div>
    毗邻选择器

    弟弟选择器

    使用~表示弟弟选择器。比如span~a,找span下面所有的a标签

     <style>
           span~a{
               color: tomato;
            }
        </style>
        <div>
            <a>我是a0标签</a>
            <span>span标签</span>
            <a>我是a1标签</a>   <!--变色-->
            <a>我是a2标签</a>   <!--变色-->
        </div>
    弟弟选择器

    属性选择器

    属性选择器,字面意思就是根据标签中的属性,选中当前的标签。

    <style>
           /*a[href]{*/
                /*color: green;*/
            /*}*/
            /*a[href='http://www.taobao.com']{*/
                /*color: lightpink;*/
            /*}*/
            input[type='text']{
                background-color: lightblue;
            }
     </style>
     <body>
         <div>
            <a href="http://www.taobao.com">我是a0标签</a>
            <span>span标签</span>
            <a href="http://www.jd.com">我是a1标签</a>
            <a href="http://www.mi.com">我是a2标签</a>
            <a>没有href属性</a>
        </div>
        <input type="text">
        <input type="password">
     </body>
    属性选择器

    并集选择器

    多个选择器之间用逗号隔开,表示选中的页面中的多个标签。一些共性的元素可以使用并集选择器

    <style>
        ul,ol,span{
           background-color: gainsboro;
        }
    </style>
    <body>
    <ul>
        <li>u-first</li>
    </ul>
    <ol>
        <li>o-first</li>
    </ol>
    </body>
    并集选择器

    交集选择器

    使用 . 表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active

    <style>
        div.box1.box2{
                background-color: red;
                width: 200px;
                height: 200px;
        }
    </style>
    <body>
        <div class="box1 box2">box1box2</div>
        <div class="box1">box1</div>
        <div>aaa</div>
        <span class="box1">span标签</span>
    </body>
    交集选择器

    伪类选择器

    提前对标签进行定义

    <style>
            a:link{
                color:tomato;
            }
            a:visited{
                color: gray;
            }
            a:active{
                color: green;
            }
            input:focus{
                background-color: aquamarine;
            }
            div{
                width: 100px;
                height: 100px;
                background-color: lightgray;
            }
            div:hover{
                background-color: pink;
            }
    </style>
    <body>
    <a href="http://www.jd.com">京东</a>
    <a href="http://www.xiaohuar.com">校花</a>
    <input type="text">
    <div></div>
    </body>
    
    其中
    a : link(未访问过的链接) visited(访问过的链接) active(鼠标在链接按下时)
    input: focus(获取焦点后)
    通用: hover(鼠标悬浮时)(通用)
    伪类选择器

    伪元素选择器

    对选到的元素进行操作(通用)

    <style>
            p:first-letter{
                color: green;
            }
            p:before{
                content: '**';
                /*color: pink;*/
            }
            p:after{
                content: '.....';
                color: lightblue;
            }
    </style>
    <body>
    <div>春江水暖鸭先知</div>
    </body>
    
    其中
    first-letter    操作第一个字符
    before    在语句前操作
    after    在语句后操作
    伪元素选择器

    css选择器的优先级

    行内样式 1000> id选择器 100 > 类选择器 10 > 标签选择器 1 > 继承样式 0

    所有的值可以累加但是不进位

    优先级如果相同,写在后面的生效

    !important:设置权重为无限大 

    !important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局

    颜色表示

    rgb表示法:
        rgb :red green blue 光谱三原色
        rgb(255,255,255) 白色
        rgb(0,0,0) 黑色
    16进制的颜色表示法
        #000000-#FFFFFF
        #000 - #FFF
    单词表示法:
        # red green 
    rgba表示法:
        #a表示的是透明度 0-1,0是完全透明,1是不透明
    https://htmlcolorcodes.com/zh/yanse-ming/
    颜色表示方法

    字体

    p{
       font-family: 'Microsoft Yahei','楷体','仿宋';
       font-weight: bold;
       font-size: 12px;
    }
    
    famliy    设置字体
    weight    宽度粗细
    size    所占大小
    字体标签

    文本

    text-align 文字的水平对齐
        left 左对齐
        center 居中
        reght 右对齐
    text-decoration 文本装饰
        none;         没有下划线
        line-through; 中划线
        overline;     上划线
        underline;    下划线
    
    text-indent 文本缩进
        text-indent: 2em; em单位是一个相对单位,相对当前字体大小的像素是1em
    
    line-height    行高,设置行高=容器高度,文字自动垂直居中
        line-height: 200px;
        
    color:设置字体颜色
    文本标签

    背景图片

    background-color: red;   在没有背景图片覆盖的范围显示背景颜色
    background-image: url('timg.jpg'); 设置背景图片
    height: 400px;
     400px; 
    background-repeat: no-repeat; 设置图片不重复   repeat-x水平重复   repeat-y垂直重复
    background-position: right top; 图片的位置 或离左边的距离x 离右边的距离y
    /*left center right /top center bottom*/
    background-attachment: fixed; 在窗口中固定图片的位置(了解)
    background:red url("timg.jpg") no-repeat left center;  把所有的设置综合写在background中
    背景图片标签

    边框

       100px;
                height: 100px;
                /*border-color: tomato green gray yellow;*/
                设置边框颜色,可混合
                /*border- 1px 3px 5px 7px;*/
                设置边框粗细,可混合
                /*border-style: solid dotted dashed double;*/
                设置边框样式,实线、圆点、虚线、双线
                /*一个值:上下左右
                四个值:遵循顺时针上右下左
                三个值:上 右左 下
                两个值:遵循上下 左右
                */
                /*border-top-style:solid ;*/  单独设置顶线的样式(left,bottom,right)
                /*border-top-color:red;*/     单独设置顶线颜色
                border:yellow solid  10px;    统一设置边框的颜色 样式 宽度
    边框

    块级元素和行内元素的转换

    对于行内标签来说不能设置宽和高
    有些时候需要行内标签也设置宽和高,需要进行行内-->块,行内->行内块
    display的属性值 : block块  inline行内 inline-block行内快 none
    display: block;        独占一行并且可以设置宽高
    display: inline-block;  既可以设置宽高又不会独占一行 行内块转行内快
    display: inline;        表示一个行内元素,不能设置宽高
    display: none;          不仅不显示内容,连位置也不占了
    块级元素和行内元素的转换

    盒模型

    border  : 边框的宽度
    padding : 内边距的距离
    content : width height
    背景包含的部分:padding + conntent
    计算一个盒子的总大小: 宽width+2padding+2border 高height+2padding+border
    外边距 margin
        上下的盒子如果设置bottom和top会导致塌陷,取两个设置的最大值作为外边距
    margin: 0 auto;表示左右居中(父盒子宽度,子盒子宽度)
    
    分方向的设置
    border-top border-right  border-bottom border-left
    padding-top padding-right  padding-bottom padding-left
    margin-top margin-right  margin-bottom margin-left
    
    给图形设置圆角
    border-radius: 5px;
    盒模型

    浮动

    float:left /right    向左/右浮动
    浮动的元素会脱离标准文档流,原本块级元素就不再独占整行了
    并且在原页面中也不占位置了,之后的元素会挤到页面上影响页面的排版
    清除浮动 clear:both
    伪元素清除法:
            .clearfix:after{
                content: '';
                clear: both;
                display: block;
            }
    <body>
    <div class="father clearfix">
    <div class="box"></div>
    <div class="box"></div>
    </div>
    <div class="main">
        主页的内容
    </div>
    </body>
    浮动

    overflow

    内容超出标签的大小
    visible 可见(默认)
    hidden 超出部分隐藏    还可以清除浮动
    scroll 超出显示滚动条
    overflow

    定位

    position : relative(相对) /absolute(绝对) /fixed(固定)
    top:10px;    这四个值只有在有position时才生效
    right:10px;
    bottom:10px;
    left:10px;
    相对定位 :相对自己原来的位置移动,移动之后还占据原来的位置
    绝对定位 :绝对定位是相对于整个html页面,不会占据原来的位置,层级的提升
            如果我们设置了绝对定位的元素 的父元素 没有设置position,那么我们对元素的所有设置都是基于整个页面
            如果设置了position,那么子盒子的absolute位置会根据父盒子的位置定位
            父相子绝:子元素设置的绝对位置会对应着祖级元素的相对位置
    固定定位 :固定是相对于整个窗口的
    定位

    透明度

    opacity: 0.5;调整d4对应的整个标签的透明度是50%
    .d4{
        opacity: 0.5;
    }
    <div class="d4">
        你好你好娃哈哈
        <img src="timg.jpg" alt="">
    </div>
    透明度

    z - index

    用法说明:
    z-index 值表示谁压着谁,数值大的压盖住数值小的,
    只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
    z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
    从父现象:父亲怂了,儿子再牛逼也没用
    z-index
  • 相关阅读:
    磁盘管理
    TCP/IP四层模型
    OSI七层模型详解
    kvm虚拟机
    mount 文件挂载
    ORA-01017: 用户名/口令无效; 登录被拒绝
    mybatis配置文件形式
    Spring+mybatis整合
    xmlBean学习二
    xmlBean学习一
  • 原文地址:https://www.cnblogs.com/biulo/p/11324147.html
Copyright © 2011-2022 走看看