zoukankan      html  css  js  c++  java
  • 前端css样式及选择器

    标题:

    1.scc概述

    2.行内样式

    3.内接样式

    4.外接样式(链接式)    推荐使用

    5.外接样式(导入式)

    6.嵌套规则

    7.css选择器

    1.scc(Cascading Style Sheets)层叠样式表

      当前CSS前端分为三层:

    • HTML:超文本标记语言。从语义的角度描述页面结构

    • CSS:层叠样式表。从审美的角度负责页面样式

    • JS:JavaScript 。从交互的角度描述页面行为

    css的作用其实就是给HTML页面标签添加各种样式,定义网页显示效果,将网页内容和显示样式进行分离

    css缺点:兼容性不是太好;要求浏览器足够智能化;数据和显示没有分开;功能还不够强大

    css有点:使数据和显示分开;降低网络流量;使整个网络视觉效果一样;降低了耦合性,提高了开发效率

    2.行内样式

    <div>
        <p style="color: green">这是行内样式</p>
    </div>

    3.内接样式

    <style type="text/css">
        /*2.内接样式*/
            p{
                color: red;
                font-size: 20px;
            }
        </style>

    4.外接样式(链接式)    推荐使用

    <link rel="stylesheet" type="text/css" href="./main.css">

    建立一个index.css的文件,在主页面把它导入:

    5.外接样式(导入式)

    <style type="text/css">
            @import url('./index.css');
    </style> 

     将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:

    6.嵌套规则 

    1. 有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt

    2. li内可以包含div

    3. 块级元素与块级元素并列、内联元素与内联元素并列

    7.css选择器

    7.1基础选择器

    “选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素

      1.通用元素选择器 *: 所有的标签都变色

      2.标签选择器:匹配所有使用p标签的样式 p{color:red}

      3.id选择器:匹配指定的标签 #p2{color:red}

      4.class类选择器:谁指定class谁的变色,可选多个 .c1{color:red} 或者 div.c1{color:red}

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <style>
        /*标签选择器*/
        /*所有标签是div的都变了*/
        div{
            font-family: 华文彩云;
        }
    
        /*id选择器*/
        /*给id='c2'的设置样式,id一般不常用。因为id是不能重复的。*/
        #c2 p{
            background-color: yellow;
            font-size: 20px;
            color: purple;
        }
    
        /*calss类选择器*/
        .a1{
            color: red;
        }
    
        /*通用元素选择器,整体改变*/
        *{
            background-color: pink;
            color: green;
        }
    </style>
    <body>
    <div>
        <div id="c2">
            <p>根据c2 p的信息改变颜色</p>
            <div class="a1">这里字体是红色</div>
        </div>
    </div>
    <p>p2</p>
    <div class="a1">666
        <p>你好啊</p>
        <h1>我是h1标签</h1>
    </div>
    </body>
    </html>

     7.2组合选择器

       1.后代选择器,使用空格表示后代选择器 (不分层级,只让p标签变色) .c2 p{color:red} 
        2.子代选择器,使用>表示子代选择器(只在儿子层找) .c2>p{color:red}
        3.多元素选择器:同时匹配所有指定的元素,之间通过逗号隔开  .div,p{color:red}
                           或者
    
                             .c2 .c3,.c2~.c3{
                                           color: red;
                                            background-color: green;
                                           font-size: 15px;
                            }
     
        不常用    
      3.毗邻选择器(紧挨着,找相邻的,只找下面的,不找上面的).c2+p{color:red}
      4.兄弟选择器:同一级别的,离得很近的.c2~p{color:red}
       5.多元素选择器: .c2 .c3,.c2~ .c3{ color:red }

    多元素选择器的说明:

    .a1 .a2, .a1~p{
                color: blue;
                font-size: 15px;
                background-color: red;
            }
            #下面的两个就相当于上面的一个,用逗号隔开可以减少代码的重用
            .a1 .a2{
                color: blue;
                font-size: 15px;
                background-color: red;
            }
            .a1~p{
                 color: blue;
                 font-size: 15px;
                 background-color: red;
            }

     举例:

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="UTF-8">
        <title>组合选择器</title>
        <style>
            /*后代选择器(部分层级):选择所有类为a1的p标签*/
            .a1 p{
                background-color: blue;
            }
    
            /*子代选择器*/
            .c2>p{
                color: green;
            }
    
            /*毗邻选择器*/
            .a2+p{
                background-color: aquamarine;
            }
    
            /*兄弟选择器:同一级别的,离得很近的*/
            .a2~p{
                background-color: brown;
            }
    
            /*多元素选择器:同时匹配所有指定的元素*/
            .div,p{
                background-color: yellow;
            }
    
            .a1 .a2, .a1~p{
                color: purple;
                font-size: 30px;
                background-color: red;
            }
        </style>
    </head>
    <body>
    <p>第六组</p>
    <div class="a1">
        <div class="a2">
            <p>过去永远是画面</p>
            <div class="c2">
                <p>那片海</p>
            </div>
    
        </div>
        <p>666666666</p>
        <h1 class="a2">第一章</h1>
        <h2>第二章</h2>
    </div>
    <div class="a1">
        <b>第三章</b>
        <div class="a2">
            <p>&reg;</p>
            <b>singal</b>
        </div>
    </div>
    <h5>第五组</h5>
    <p>第六组</p>
    </body>
    </html>

     7.3属性选择器

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

      属性选择器仅限于在表单控件中 

    /*根据属性查找*/
                /*[for]{
                    color: red;
                }*/
                
                /*找到for属性的等于username的元素 字体颜色设为红色*/
                /*[for='username']{
                    color: yellow;
                }*/
                
                /*以....开头  ^*/ 
                /*[for^='user']{
                    color: #008000;
                }*/
                
                /*以....结尾   $*/
                /*[for$='vvip']{
                    color: red;
                }*/
                
                /*包含某元素的标签*/
                /*[for*="vip"]{
                    color: #00BFFF;
                }*/
                
                /**/
                
                /*指定单词的属性*/
                label[for~='user1']{
                    color: red;
                }
                
                input[type='text']{
                    background: red;
                }

    例:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        
        <style type="text/css">
            label[for]{
                color: red
            }
            input[type='text']{
                background-color: red;
            }
            label[for^='vip']{
                color: blue;
            }
            label[for*='i']{
                color: yellow;
            }
    
    
            
        </style>
    </head>
    <body>
        
        <!-- 属性选择器仅限于在表单控件中 -->
        <form action="">
            
            <label for="username">用户名</label>
            <label for="vip">vip</label>
            <label for="vivp">vvip</label>
    
            <input type="text">
            <input type="password">
        </form>
        
    
    </body>
    </html>

    7.4伪类选择器(和链接显示效果相关)

      一般用在超链接a标签中,专用于控制链接的显示效果

    '''
            a:link(没有接触过的链接),用于定义了链接的常规状态。
    
            a:hover(鼠标放在链接上的状态),用于产生视觉效果。
            
            a:visited(访问过的链接),用于阅读文章,能清楚的判断已经访问过的链接。
            
            a:active(在链接上按下鼠标时的状态),用于表现鼠标按下时的链接状态。
            
            伪类选择器 : 伪类指的是标签的不同状态:
            
                       a ==> 点过状态 没有点过的状态 鼠标悬浮状态 激活状态
            
            a:link {color: #FF0000} /* 未访问的链接 */
            
            a:visited {color: #00FF00} /* 已访问的链接 */
            
            a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
            
            a:active {color: #0000FF} /* 选定的链接 */ 格式: 标签:伪类名称{ css代码; }
    
    '''

    例:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        
        <style type="text/css">
        
            .box ul li.item a:link{
                color: red;
            }
            .box ul li.item a:visited{
                color: yellow;
            }
            .box ul li.item a:hover{
                color: green;
                font-size: 30px;
            }
            
            .box ul li.item a:active{
                color: pink;
                background-color: #000;
    
                
            }
            span{
                display: block;
                width: 200px;
                height: 200px;
                background-color: yellow;
            }
            span:hover{
                color: red;
                cursor: pointer;
                background-color: #000;
                font-size: 30px;
            }
            input{
                width: 300px;
                height: 200px;
            }
            ul>li{
                /* 100px;
                height: 70px;*/
                background-color: red;
            }
            /*
                行内标签:
                a span
                1、在一行内显示
                2、不能设置宽高
                3、宽高 是内容的宽高
    
                行内块
                1.在一行内显示
                2.可以设置宽高
    
                块级标签
                div p ul li
                1、独占一行
                2、可以设置标签宽高
                3、如果不设置宽高,默认body100%宽度
            */
            
        </style>
    </head>
    <body>
        <span>哈哈哈</span>
        <input type="text">
        <input type="password">
        <ul>
            <li>111</li>
        </ul>
    
        <div class="box">
            <ul>
                <li class="item">
                    <a href="#">超链接</a>
                </li>
            </ul>
        </div>
    
        
    
    </body>
    </html>

     7.5nth-child()选择器

      可以给指定的几行自定属性,如颜色

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            /*ul>li{
                list-style: none;
            }*/
            ul li:first-child{
                color: red;
            }
            ul li:last-child{
                color: red;
            }
            ul li:nth-child(3){
                color: blue;
            }
            /*设置为n全部为黄色*/
            ul li:nth-child(n){
                color: yellow;
            }
            /*3n+1的倍数行全部绿色*/
            ul li:nth-child(3n+1){
                color: green;
            }
        </style>
    </head>
    <body>
    
        <ul>
            <li>冯波1</li>
            <li>冯波2</li>
            <li>冯波3</li>
            <li>冯波4</li>
            <li>冯波5</li>
            <li>冯波6</li>
            <li>冯波7</li>
            <li>冯波8</li>
        </ul>
        
    </body>
    </html>

    7.6 before,after伪类   (后面解决浮动问题需要用到这里的知识)

      :before      p:before       在每个<p>元素之前插入内容

       :after        p:after     在每个<p>元素之后插入内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            p{
                font-size: 29px;
            }
            
             p::first-letter{
                color: red;
                font-size: 30px;
    
            }
            p::before{
                content:'6666';
            }
    
            /*这个非常重要,解决我们后面浮动产生的问题(布局)*/
            p::after{
                
                content: ".";
                display: block;
                height: 0;
                visibility: hidden;
                clear: both
            }
        </style>
    </head>
    <body>
    
        <p>董方方</p>
        
    </body>
    </html>
  • 相关阅读:
    TestNG之Factory
    Selenium2怎么调用selenium1中方法
    JAVA如何随机生成一个汉字
    selenium如何随机选取省份和城市的下拉框的值
    Bootstrap之登陆页面范例
    Bootstrap之信息记录
    Bootstrap之表格、表单应用
    Bootstrap之响应式导航栏
    Bootstrap之网格类
    使用fastjson将对象和字符串进行转换
  • 原文地址:https://www.cnblogs.com/LearningOnline/p/9074436.html
Copyright © 2011-2022 走看看