• CSS基础(一)


    一、CSS介绍:
    互联网前端分三层:
    HTML:超文本标记语言。从语义的角度描述页面结构;
    CSS:层叠样式表。从审美的角度负责页面的样式;
    JS:JavaScript。从交互的角度描述页面行为;
    HTML的缺陷:
    - 不能适应多种设备
    - 要求浏览器必须智能化足够大
    - 数据与显示没有分开
    - 功能不够强大
    CSS优点:
    - 使数据和显示分开
    - 降低网络流量
    - 使整个网站视觉效果一致
    - 使开发效率提高(耦合性降低,html和css能够分开写)
    引入方式:
    1. 行内样式:
    <!--行内样式-->
    <div>
        <p style="color: red;">这是 一个行内样式</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>
    二、CSS基本选择器
    1. 标签选择器
    标签选择器选中的是所有的标签元素,如:div、ul、p等,不管标签藏得有多深都能选中,并且是所有,而非某一个,所以说是“共性”不是特性。
    body{
        color:gray;
        font-size: 12px;
    }
    /*标签选择器*/
    p{
        color: red;
    font-size: 20px;
    }
    span{
        color: yellow;
    }
    2. id选择器
    同一个页面中id不能重复,并且任何的标签都可以设置id;
    id命名规范为:要以字母开头,可以有数字,下划线区分大小写。
    /*id选择器*/
    #box{
        background:green;
    }           
    #s1{
        color: red;
    }
    #s2{
        font-size: 30px;
    }
    3. 类选择器
    即class:同id相似,但是相同的类名不是唯一的,可以重复多次出现,属于归类的概念。同一个标签可以携带多个类名,之间用空格分割;
    类的使用能够决定css水平的高低,“公共类”也是一个重要的概念。
    .lv{
         color: green;
     }
     .big{
         font-size: 40px;
     }
     .line{
        text-decoration: underline;
     }
    <body>
    <!-- 公共类    共有的属性 -->
     <div>
         <p class="lv big">段落1</p>
         <p class="lv line">段落2</p>
         <p class="line big">段落3</p>
     </div>
    </body>
    总结:
    - 不要试图用一个类将我们的页面写完。这个标签要携带多个类,共同设置样式
    - 每个类要尽可能的小。有公共概念,能够不让更多的标签使用
    - id和class的选择:
    尽可能的用class。除非一些特殊情况可以使用id,因为id一般是用在js上的。通常js通过id来获取到标签。
    三、高级选择器
    1. 后代选择器
    使用空格表示后代选择器。父元素的后代包括:儿子、孙子等
    .container p{
        color: red;        
    }
    .container .item p{
        color: yellow;
    }
    2. 子代选择器
    使用 > 表示子代选择器。例如:div>p,仅仅表示的是当前div元素选中的子代(不包括孙代)元素p
    .container>p{
         color: yellowgreen;
    }
    3. 并集选择器:
    多个选择器之间使用逗号隔开。表示选中的页面中的多个标签,一些共性的元素可以使用并集选择器
     body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
          margin: 0;
          padding: 0
       }
    /*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
    4. 交集选择器:
    使用 . 表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器。语法:div.active
    /*比如有一个<h4 class='active'></h4>这样的标签*/
    h4{
        width: 100px;
        font-size: 14px;
    }
    .active{
        color: red;
        text-decoration: underline;
    }
    /* 交集选择器 */
    h4.active{
        background: #00BFFF;
    }
    5. 属性选择器:
    根据标签中的属性选中当前的标签
    /*根据属性查找*/
    [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;
    }
    6. 伪类选择器:
    CSS为一些特殊效果准备了特定的工具,我们称之为“伪类”。伪类选择器一般会用在超链接a标签中。使用a标签的伪类选择器我们需要遵循 ——
    “爱恨准则”:
    a:link,定义正常链接的样式;
    a:visited,定义已访问过链接的样式;
    a:hover,定义鼠标悬浮在链接上时的样式;
    a:active,定义鼠标点击链接时的样式。
    /*没有被访问的a标签的样式*/
    .box ul li.item1 a:link{
        
        color: #666;
    }
    /*访问过后的a标签的样式*/
    .box ul li.item2 a:visited{
        
        color: yellow;
    }
    /*鼠标悬停时a标签的样式*/
    .box ul li.item3 a:hover{
        
        color: green;
    }
    /*鼠标摁住的时候a标签的样式*/
    .box ul li.item4 a:active{
        
        color: yellowgreen;
    }
    7. nth-child():
    为css3中的选择器
    /*选中第一个元素*/
    div ul li:first-child{
        font-size: 20px;
        color: red;
    }
    /*选中最后一个元素*/
    div ul li:last-child{
        font-size: 20px;
        color: yellow;
    }
    /*选中当前指定的元素  数值从1开始*/
    div ul li:nth-child(3){
        font-size: 30px;
        color: purple;
    }
    /*n表示选中所有,这里面必须是n, 从0开始的  0的时候表示没有选中*/
    div ul li:nth-child(n){
        font-size: 40px;
        color: red;
    }
    /*偶数*/
    div ul li:nth-child(2n){
        font-size: 50px;
        color: gold;
    }
    /*奇数*/
    div ul li:nth-child(2n-1){
        font-size: 50px;
        color: yellow;
    }
    /*隔几换色  隔行换色
      隔4换色 就是5n+1,隔3换色就是4n+1
    *
    div ul li:nth-child(5n+1){
        font-size: 50px;
        color: red;
    }
    8. 伪元素选择器:
    存在于代码中,但是不存在与内存中
    /*设置第一个首字母的样式*/
    p:first-letter{
        color: red;
        font-size: 30px;
    }
    /* 在....之前添加内容  这个属性使用不是很频繁 了解  使用此伪元素选择器一定要结合content属性*/
    p:before{
        content:'alex';
    }
    /*在....之后添加内容,使用非常频繁 通常与咱们后面要讲到布局 有很大的关联(清除浮动)*/
    p:after{
        content:'&';
        color: red;
        font-size: 40px;
    }
    /*清除浮动*/
    .clearfix:after{
        content: '.';
        clear: both;
        display: block;
        visibility: hidden;
        height: 0;
    }
  • 相关阅读:
    Big Number
    Who will be punished
    find your present (2)
    Being a Good Boy in Spring Festival
    day4__列表的初识(列表的创建、增删改查、元组、range)
    day3、基础___(基础数字类型、字符串索引与切片、str常用操作方法)
    day2、基础__(while循环、格式化输出、运算符、初始编码)
    day1: 基础 __ (变量、常量、注释、数据类型、input、 if)
    十八、FTP配置
    十七、交换机配置管理IP和telnet登陆设置
  • 原文地址:https://www.cnblogs.com/jiumo/p/9702595.html
Copyright © 2020-2023  润新知