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

    前端 css

    层叠样式表

      当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)

    注释

      /*单行注释*/
    
      /*
    
      多行注释  
    
      */

    语法结构

     

    选择器 {属性:属性值;属性:属性值;属性:属性值;}
    
    h1 {color:red;font-size:14px;}

    三种引入css样式的方式

      

    1 head内style标签内部直接书写css代码
        <head>
            <meta charset="UTF-8">
            <title>title</title>
            <style>
            p {
                background-color:red;
                }
            </title>
        </head>
      (背景框会展示出来)
    2 link标签引入外部css文件 <link href="mystyle.css" rel="stylesheet" type="text/css"/>
    3 直接在标签内通过style属性书写css样式 <p style="color:red"> hello word.</p>

    !!! css样式通常都应该写在单独的css文件中

      

    css的流程

    1 选学习如何查找标签

      基本选择器
        标签选择器
        id选择器
        类选择器
        通用选择器
      组合选择器
        后代选择器
        二字选择器
        毗邻选择器
        弟弟选择器
      属性选择器
    
      伪类选择器
    
      伪元素选择器

    基本选择器

    • 标签选择器 所有span标签的颜色都是红色
    <style>
    span {color:red;}
    <style>
    • id 选择器 将id所对应的标签样式修改
    <style>
    #s1 {font-size: 24px;}
    <style>
    • 类选择器 会把所有的类包裹继承的标签颜色都改成一样的 还有类下面的子标签 子子标签
    .c1 {color: #43ceff
            }
    • 通用选择器  会把所有没有标签样式的都改为一样的标签颜色
     * { color: #ff100c
            }

    如果是一个类选择器 和一个通用选择器的话 会出现

      <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
         <style>
            .c1 {color: #43ceff
            }
            
             * { color: #ff100c
            }
            
        </style>
    </head>
    <body>
    <span id="s1">span</span>
    <div class="c1">div
        <p>p
            <span>span</span>
        </p>
    </div>
    <div class="c1">div</div>
    </body>
    </html>    

    这是下面相同选择器 级别不同 类的优先级权重 高于  通用的 类先把所有的类自己的包括内部的和继承的改为类选择器颜色

           后面 按照从上往下的执行顺序的时候 通用选择器在把 所有没有选择器的标签颜色改为通用的颜色


    组合选择器

    • 后代选择器  后面里面所有的span标签都变成蓝色  子子孙孙
        <style>
            div span {
                color: blue;
            }
        </style>
    • 儿子选择器  把div里面所有被div包含的span找到 (只找儿子 这一级) 都改为红色
        <style>
            div>span {
                color: red;
            }
        </style>
    • 毗邻选择器   对下不对上  (且只找最近的一个)  都改为蓝色 
        <style>
            div+span {
                color: blue;
            }
        </style>
    • 弟弟选择器   ~对下不对上  只要是同级别的 在div后面的都是它弟弟
        <style>
            div~span {color: deeppink}
        </style>

    属性选择器

    • 只要有xxx属性名的标签都找到  [xxx] {color:red;}
        <style>
            [xxx] {color: red}
        </style>
    • 只要标签有属性名为xxx 并且值为1 [xxx='1'] {color:blue;}
        <style>
            [xxx='1'] {color: blue}
        </style>
    •  规定p标签内部徐徐有属性名为xxx并且值为2的标签  p[xxx='2'] {color:green;}
       <style>
            /*规定p标签里面内部必须有属性名为xxx 并且值为2的标签*/
            p[xxx='2'] {color: green;}
        </style>

    分组与嵌套

    • div  标签一个样式 p 标签一个样式 span 标签一个样式  
        <style>
            div {color: red;}
            p {color: red;}
            span {
                color: red;}
        </style>
    • 分组 div ,p,span {color :blue;}  就是把上面单个单个的标签选择器 简写
        <style>
            /*分组*/
            div,p,span {color: red}
        </style>
    • 嵌套:不同的选择器可以共用一个样式  后代选择器标签选择器组合使用
        <style>
            /*嵌套:不同的选择器可以使用同一个样式
            后代选择器与标签组合使用
            */
            div p,span {color: yellow}
        </style>


    伪类选择器

    • 针对的是a 连接标签  四种状态 未点击时 鼠标悬浮上面 点击时 点击后返回  
        <style>
            /*未点击时*/
            a:link {
                color: red;
           text-decoration:None; }
    /*鼠标悬浮上面*/ a:hover { color: yellow; } /*点击时*/ a:active { color: black; } /*点击后返回*/ a:visited { color: green; } </style>
      补充:input:focus{ /*input输入框获取焦点时样式*/
        background-color:red;} 文本框输入的时候可以显示文本框的背景颜色

        text-decoration: None; 连接下划线去掉

    伪元素选择器

    • 可以设置手字母样式 可以在标签前面添加内容  可以在标签后面添加内容
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*首字母大写 并且设置颜色红色*/
            p:first-letter {
                color: red;
                font-size: 24px;
            }
            /*在p标签前面加上内容*/
            p:before{
                content: '这是添加的内容';
                color: orangered;
            }
            /*这是标签后面添加的内容*/
            p:after{
                content: '这是后面添加的';
                color: orange;
                font-size: 48px;
            }
        </style>
    </head>
    <body>
    <p>继承是css的一个主要特征,它是依赖于组向圣诞节放假快乐</p>
    <p>继承是css的一个主要特征,它是依赖于组向圣诞节放假快乐</p>
    <p>继承是css的一个主要特征,它是依赖于组向圣诞节放假快乐</p>
    </body>
    </html>

    2 如何给查找到的标签设置样式

    id  用来唯一标识标签
    class  标签类属性(*****),可以由多个值
        可以理解成python面向对象的继承

     

    3  你可以给任意的标签加任意的属性名和属性值

       <style>

        p[xxx='2'] {color:red;}

      </style>

      <p xxx='2'>ppp</p>

    4 研究选择器优先级

      相同选择器 不用的引入方式     就近原则 谁越靠近标签谁说了算

      不同选择器  相同的引入方式  

        行内样式 > id 选择器 > 类选择器  > 标签选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    /*id选择器*/
    #p1 {color: green;}
    /*类选择器*/
    .c1 {color: aqua;}
    /*标签选择器*/
    p {color: red;}
    </style>
    <!--标签选择器-->
    <link rel="stylesheet" href="mycss.css">
    </head>
    <body>
    <p id="p1" class="c1" style="color: blue">p</p>
    </body>
    </html>

    5 如何修改标签样式

    •  样式修改
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div { 400px;
                height: 100px;}
            p {font-size: 16px;
                font-weight: bolder;}
        </style>
    </head>
    <body>
    <div>div</div>
    <div>div</div>
    <p>坚实的科技了解了解</p>
    </body>
    </html>

    font-weight用来设置字体的自重(粗细)
    
    
    • 文本颜色
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                /*color: orange;*/
            /*color: rgb(0,0,255)*/
            /*color:#ff100c;*/
               
                /*最后一个参数控制的是透明度*/
             color: rgba(0,0,234,0.3);
            }
        </style>
    </head>
    <body>
    <p>这是文本颜色修改的</p>
    </body>
    </html>
    • 文本属性 
      • 文本内容是右对齐right 左对齐left(默认) 居中center  justify 两端对齐
      • 本文内容上面加下划线overline
      • 下面加下划线underline
      • 作废线(穿过文本下的一条线) line-through
      • 缩进  text-indent
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            p {
                /*把p标签内容 右对齐 */
                /*text-align: right;*/
                /*text-align: center;*/
                /*text-align: left;*/
    
                /*把p标签内容下面加上下划线*/
                text-decoration: underline;
    
                /*把p标签内容上面加一条下划线*/
                /*text-decoration: overline;*/
    
                /*p标签内容有一条横线  和作废一段话一样*/
                /*text-decoration: line-through;*/
    
                /*把p标签内容缩进48px像素位置*/
                text-indent: 48px;
            }
            /*连接下划线去掉*/
            a {text-decoration: none}
        </style>
    </head>
    <body>
    <p>以把多个字体名称作为</p>
    <a href="https://www.baidu.com">百度</a>
    </body>
    </html>
    • 背景属性 
      • 背景颜色 background-color
      • 背景图片填充 background-image:url('图片')
      • 是否重复repeat(默认):背景图片平铺排满整个网页
        • repeat-x :背景图片只在水平方向上平铺
        • repeat-y: 背景图片只在垂直方向上平铺
        • not-repeat: 背景图片不平铺
        • background-repeat:no-repeat;
      • 背景位置 background-position:left top;
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                 400px;
                height: 400px;
                /*背景颜色*/
                /*background-color: orange;*/
                /*background-image: url("1.png");*/
                /*!*不重复*!*/
                /*background-repeat: no-repeat;*/
                /*!*位置 left左面居中对齐 *!*/
                /*background-position: center;*/
    
                 /*支持简写*/
                background: no-repeat center url("1.png") orange;
            }
        </style>
        
    </head>
    <body>
    <div></div>
    </body>
    </html>
    • 背景图片示例 设置图片宽度 颜色 背景可以支持固定其他页面划动
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1 {
                height: 400px;
                background-color: tomato;
            }
            .box {
                height: 400px;
                background: url("http://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=e9952f4a6f09c93d07a706f3aa0dd4ea/4a36acaf2edda3cc5c5bdd6409e93901213f9232.jpg");
                /*背景附件 固定的*/
                background-attachment: fixed;
    
                /*可以只填充一个不重复的图片 且 图片周围有背景色 支持滑动*/
                /*height: 400px;*/
                /*background: url("http://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=e9952f4a6f09c93d07a706f3aa0dd4ea/4a36acaf2edda3cc5c5bdd6409e93901213f9232.jpg");*/
                /*background-color: orange;*/
                /*background-repeat: no-repeat;*/
                /*background-position: center;*/
                /*background-attachment: fixed;*/
            }
            .c2 {
                height: 400px;
                background-color: red;
            }
            .box1 {
                height: 400px;
                background: url("jie.jpg");
                background-position: center;
                /*背景附件 固定的*/
                background-attachment: fixed;
            }
            .c3 {
                height: 400px;
                background-color: fuchsia;
            }
    
        </style>
    </head>
    <body>
    <div class="c1"></div>
    <div class="box"></div>
    <div class="c2"></div>
    <div class="box1"></div>
    <div class="c3"></div>
    </body>
    </html>
    • 边框  
      • 边框宽度 border-width
      • 边框是实线、虚线 border-style;
      • 颜色 border-color;
      • 边框样式
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                border: 3px solid red;
                
                /*border- 3px;*/
                /*!*dashed虚线*!*/
                /*border-style: dashed;*/
                /*border-color: deeppink;*/
            }
        </style>
    
    </head>
    <body>
    <div>div</div>
    </body>
    </html>
    • 画圆
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                 400px;
                height: 400px;
                background-color: red;
                /*边框颜色 实线 3px*/
                border: 3px solid black;
                /*半径是边缘的50%*/
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
    <div></div>
    
    </body>
    </html>
    • display 属性
      • none  将块级标签内容隐藏起来并让位置   
      • inline 将块级标签变成行内标签 
      • block 将行内属性变成块级标签
      • inline-block  将选择的标签即具有行内标签特点又有块级标签的特点
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    
        <style>
            /*div {*/
                /*!*不显示不占位*!*/
                /*display: none;*/
            /*}*/
    
            /*div {*/
                /*!*inline将款及标签变成行内标签*!*/
                /*display: inline;*/
            /*}*/
    
            /*span {*/
                /*!*block 块 将行内标签变成 块级标签*!*/
                /*display: block;*/
            /*}*/
    
            span {
                /*将选择的标签即具有行内标签特点又有块级标签的特点*/
                display: inline-block;
                height: 400px;
                 400px;
                background-color: red;
                border: 3px solid black;
            }
    
        </style>
    </head>
    <body>
    <div>div</div>
    <div>div</div>
    <span>span</span>
    <span>span</span>
    </body>
    </html>
  • 相关阅读:
    如何将网格式报表打印成其它样式
    拥有与实力不相称的脾气是种灾难——北漂18年(23)
    8.8.1 Optimizing Queries with EXPLAIN
    mysql 没有rowid 怎么实现根据rowid回表呢?
    secondary index
    8.5.5 Bulk Data Loading for InnoDB Tables 批量数据加载
    mysql 中key 指的是索引
    8.5.4 Optimizing InnoDB Redo Logging 优化InnoDB Redo 日志
    8.5.3 Optimizing InnoDB Read-Only Transactions 优化InnoDB 只读事务
    8.5.1 Optimizing Storage Layout for InnoDB Tables InnoDB表的存储布局优化
  • 原文地址:https://www.cnblogs.com/lakei/p/10946279.html
Copyright © 2011-2022 走看看