美文网首页
丸子学CSS(学习1小时 - 基础上)

丸子学CSS(学习1小时 - 基础上)

作者: 丸子小姐__不懂爱 | 来源:发表于2023-11-13 09:08 被阅读0次

    先给自己打点鸡血

    学习是一个不断累积的过程,对于知识点而言,不论晦涩难懂还是通俗易懂,所需要做的就是不断地重复重复再重复,很多的事是做了后才感觉简单的,做好笔记,一滴一滴慢慢积累

    基本语法

    CSS规则由两个主要部分构成:选择器以及一条或多条声明。每条声明由一个属性和一个值组成。属性(property)是设置的样式属性,每个属性有一个值,属性和值被冒号分开

    比如: selector {property: value}
    h1{color: red; font-size: 14px;}
    h1 是选择器, color和font-size是属性, red和14px是值 
    

    多条声明用分号分开

    创建CSS

    创建css样式表分三种情况:

    1)内部样式表

    就是写在html文件内部

    <head>
      <style type="text/CSS">
          选择器 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
          div{width:200px; height:200px; border:1px solid red;}
      </style>
    </head>
    

    2) 行内样式(内联样式)

    写在标签内部

    <div style="width:200px;height:100px;border:1px solid black;"></div>
    

    3) 外部样式表(外链式)

    将样式表写入在外部css文件中,通过link引入

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

    注意: 样式优先级 内联 > 内部 > 外部

    行内样式表 :优点 书写方便;缺点 没有实现样式和结构相分离;使用情况 较少;控制范围 控制一个标签(少)。
    内部样式表:优点 部分结构和样式相分离; 缺点 没有彻底分离;使用情况 较多;控制范围 控制一个页面(中)。
    外部样式表:优点 完全实现结构和样式相分离; 缺点 需要引入;使用情况 最多,推荐;控制范围 控制整个站点(多)。

    id和class 选择器

    1)ID选择器

    语法:
    #id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
    

    2)Class选择器

    语法:
    .类名{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
    

    不同点:
    ● ID 选择器只能在文档中使用一次,而类选择器可以使用多次。
    ● 可以使用类选择器词列表方法为一个元素同时设置多个样式(也就是一个元素可以制定多个类名),而ID只能指定一个。

    元素选择器

    语法:
    标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
    

    标签选择器最大的优点是能快速为页面中同类型的标签统一样式,同时这也是他的缺点,不能设计差异化样式

    尝试一下

    li {
      margin: 0 12px;
      width: 60px;
      height: 60px;
      border-radius: 6px;
      background: rgb(64, 161, 241);
      box-shadow: 0 4px 20px 1px rgba(64, 161, 241,.6);
    }
    

    CSS链接

    链接的四种状态:

    a:link - 正常,未访问过的链接。
    a:visited - 已访问过的链接。
    a:hover - 当鼠标滑动到链接上时。
    a:active - 链接被点击的那一刻。
    

    CSS列表

    作用:设置列表项标记为图像修改列表项标记使用 list-style-type,使用图像作为标记可以利用 list-style-image 属性完成

    CSS表格

    表格边框: border
    表格宽度和高度:width 和 height
    表格对齐:text-align 和 vertical-align
    表格内边距:tr,td的padding设置

    CSS选择器

    1)分组和嵌套选择器

    • 分组选择器
    例如:h1{color:gray;}
          p{color:gray;}
    可以写成:h1, p{color:gray;}
    
    • 嵌套选择器
    .div1 p{
       color:white;
    }
    .div1 p a{
       color:rgb(255, 174, 0);
       font-weight:bold;
    }
    <div class="div1">
       <p>嵌套选择器
           <a href="#">深层嵌套选择器</a>
       </p>
    </div>
    

    2) 通配符选择器

    *{
       padding:0;
       margin:0;
    }
    

    3) 属性选择器

    • 属性选择器:属性选择器使用[attr] ;例如:把所有带有 title 属性的元素的字体设置为橙色
    <head>
        <style>
            [title]{
                color:rgb(255, 123, 0);
            }
        </style>
    </head>
    <body>
        <h1>h1 标题不带有 title 属性</h1>
        <h2 title="标题">h2 可以设置样式</h2>
        <a href="#" title="链接">超链接可以设置样式</a>
    </body>
    
    • 属性和值选择器:属性选择器使用[attr=value]
    <head>
    <style>
        [title=Hello]{
            color:rgb(54, 221, 12);
        }
    </style>
    </head>
    <body>
      <h1 title="Hello world">h1 标题 title="Hello world"</h1>
      <h2 title="Hello">h2 可以设置样式</h2>
      <a href="#" title="Hello">超链接可以设置样式</a>
    </body>
    
    • 属性和多个值的选择器:使用有两种情况:属性值用空格分隔使用:[attr~=value];属性值用连字符分隔则使用:[attr|=value]例如:把包含 title='Hello' 的元素的字体设置为绿色,使用 ~ 分隔属性和值
    <head>
        <style>
            [title~=Hello]{
                color:rgb(240, 198, 11);
            }
            [lang|=zh]{
                color:rgb(238, 22, 202);
            }
        </style>
    </head>
    <body>
        <h1 title="world">h1 标题 title="world"</h1>
        <h2 title="Hello">h2 可以设置样式</h2>
        <h3 title="Hello Web">h3 可以设置样式</h2>
        <a href="#" title="Hello world">超链接可以设置样式</a>
        <a href="#" lang="zh-TW">超链接可以设置样式</a>
    </body>
    
    • 表单样式:属性选择器在为不带有 class 或 id 的表单设置样式时特别有用。例如:
    <head>
        <style>
            input[type="text"]{
                width:250px;
                height: 34px;
                display:block;
                margin-bottom:5px;
                background-color:rgb(255, 166, 0);
            }
            input[type="button"]{
                width:120px;
                height: 30px;
                margin-top:5px;
                background-color:rgb(30, 226, 30);
            }
        </style>
    </head>
    <body>
        <form name="input" action="demo.php" method="get">
            用户名:<input type="text" name="user" placeholder="请输入登录名">
            昵 称:<input type="text" name="name" placeholder="请输入角色名">
            <input type="button" value="查询">
        </form>
    </body>
    

    4) 组合选择器

    ● 后代选则器:又称为包含选择器,以空格分隔,子元素选择器只能选择作为某元素子元素的元素。
    ● 子元素选择器:子元素选择器只能选择作为某元素子元素的元素,以 > 分隔,子元素选择器只能选择作为某元素子元素的元素。
    ● 相邻兄弟选择器:可选择紧接在另一元素后的元素,且二者有相同父元素,以 + 分隔。
    ● 普通相邻兄弟选择器:选取所有指定元素的相邻兄弟元素,以 ~ 分隔。
    ● 选择器组合:多种选择器可以结合起来使用。

    相邻兄弟选择器

    li + li {
      background: rgb(102, 116, 245);
      box-shadow: 0 4px 20px 1px rgba(102, 116, 245,.6);
    }
    

    普通相邻兄弟选择器

    .active ~ li {
        background: rgb(102, 116, 245);
        box-shadow: 0 4px 20px 1px rgba(102, 116, 245,.6);
    }
    

    伪类

    语法:选择器:伪类{attr:value;}
    

    1)超链接伪类

    在浏览器中,链接的不同状态都可以以不同的方式显示:

    a:link{color:#FF0000;} /* 未访问的链接显示为红色 /
    a:visited{color:#00FF00;} /
    已访问的链接显示为绿色 /
    a:hover{color:#FF00FF;} /
    鼠标划过链接显示为紫红色 /
    a:active{color:#0000FF;} /
    已选中的链接显示为蓝色 */

    2) :first-child伪类

    <body>
        <p>第一个 p 元素</p>
        <p>第二个 p 元素</p>
        <p>第三个 p 元素</p>
    </body>
    

    选择作为任何元素的第一个子元素 p。选择器使用 p:first-child
    选择所有 p 元素中的第一个子元素 b。选择器使用 p>b:first-child
    选择所有作为第一个子元素 p 中的所有 b 元素。选择器使用 p:first-child b

    li:first-child {
        background: rgb(102, 116, 245);
        box-shadow: 0 4px 20px 1px rgba(102, 116, 245,.6);
    }
    

    3) :lang伪类

    使用 :lang 伪类可以为不同的语言定义特殊的规则:

    html:lang(zh-CN){
        color:blue;
    }
    :lang(en)>p{
        color:gray;
    }
    

    伪元素

    1) :before 伪元素

    h1:before{
       content:url(images/logo.gif);
    }
    

    2):after 伪元素

    h1:after{
         content:url(images/logo2.gif);
    }
    

    content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容,该属性用于定义元素之前或之后放置的生成内容。
    content 的内容一般可以为四种:
    ● content:none 该值是默认值,不插入内容。
    ● content:"string" 插入文本。
    ● content:attr(属性) 插入标签属性值。
    ● content:url(路径) 使用指定的绝对或相对地址插入一个外部资源,可以是图像,音频,视频或浏览器支持的其他任何资源。

    相关文章

      网友评论

          本文标题:丸子学CSS(学习1小时 - 基础上)

          本文链接:https://www.haomeiwen.com/subject/vwqkwdtx.html