zoukankan      html  css  js  c++  java
  • 【前端】CSS基础

     3种html中设置css的方法:

    • head中style标签
    • head中link标签rel属性、href后跟css文件目录
    • 在需要使用css样式的标签添加style属性

    1.CSS选择器

    • #id值
    • .class值
      1 1、id选择器
      2  
      3 2、class选择器
      4  
      5 3、标签选择器
      6  
      7 4、层级选择器(空格)
      8  
      9 5、组合选择器(逗号)
     10  
     11 6、属性选择器(中括号)
     12  
     13 <!DOCTYPE html>
     14  
     15 <html lang="en">
     16  
     17 <head>
     18  
     19     <meta charset="UTF-8">
     20  
     21     <title>Title</title>
     22  
     23     <style>
     24  
     25 /* id选择器 --> */
     26  
     27         #i1{
     28  
     29         height: 48px;
     30  
     31         background-color: red;
     32  
     33         }
     34  
     35 /* class选择器 最常用 */
     36  
     37         .div{
     38          
     39         height: 48px;
     40          
     41         background-color: aqua;
     42          
     43         }
     44  
     45 /* 标签选择器 所有标签都适用 */
     46  
     47         span{
     48          
     49         color: red;
     50          
     51         background-color: blue;
     52          
     53         }
     54          
     55  
     56  
     57 /* 层级选择器 组合选择器  span标签下面所有div标签颜色改变 层级通过空格区分*/
     58  
     59         span div{
     60          
     61         color: aqua;
     62          
     63         background-color: red;
     64          
     65         }
     66  
     67  
     68  
     69 /* class层级选择器 c1下面的div标签适用 层级通过空格区分*/
     70  
     71         .c1 div{
     72          
     73         background-color: #336699;
     74          
     75         height: 48px;
     76          
     77 }
     78  
     79  
     80  
     81 /* id层级选择器 i2下面的div标签适用 层级通过空格*/
     82  
     83         #i2 div{
     84          
     85         background-color: black;
     86          
     87         height: 48px;
     88          
     89         }
     90  
     91  
     92  
     93 /* 组合选择器 id z1 z2 z3 共用一套css样式 组合之间用逗号分隔*/
     94  
     95         #z1,#z2,#z3{
     96          
     97         background-color: chocolate;
     98          
     99         height: 48px;
    100          
    101         }
    102          
    103  
    104  
    105 /* 组合选择器 class s1 s2 s3 共用一套css样式 组合 通过逗号*/
    106          
    107         .s1,.s2,.s3{
    108          
    109         background-color: darkmagenta;
    110          
    111         height:48px;
    112          
    113         }
    114  
    115  
    116  
    117 /* 属性选择器 对选择到的标签,在通过属性进行筛选 可以和层级选择器连用*/
    118  
    119         div[s='dsx']{
    120          
    121         background-color: darkred;
    122          
    123         height: 48px;
    124          
    125         }
    126  
    127     </style>
    128  
    129 </head>
    130  
    131 <body>
    132  
    133 <!-- css style: 里面的写的就叫做css 每一个样式的间隔用; 全部相同的时候引用class-->
    134  
    135     <div style="height: 48px;background-color: #6699CC"></div>
    136      
    137     <div style="height: 48px;background-color: #6699CC"></div>
    138      
    139     <div style="height: 48px;background-color: #6699CC"></div>
    140      
    141  
    142  
    143 <!-- css class引用-->
    144  
    145     <div id="i1"></div>
    146      
    147     <div class="div"></div>
    148      
    149     <div class="div"></div>
    150  
    151  
    152  
    153 <!-- 全局标签选择器 -->
    154  
    155     <span>标签选择器</span>
    156  
    157  
    158  
    159 <!-- 层级选择器 组合标签选择器 -->
    160  
    161     <span>
    162      
    163         <div>组合标签选择器</div>
    164      
    165     </span>
    166  
    167  
    168  
    169 <!--层级选择器 class选择器下的div标签 -->
    170  
    171     <div class="c1">
    172      
    173         <div></div>
    174      
    175     </div>
    176  
    177  
    178  
    179 <!--层级选择器 id选择器下的div标签-->
    180  
    181     <div id="i2">
    182      
    183         <div></div>
    184      
    185     </div>
    186  
    187  
    188  
    189 <!-- id组合选择器 -->
    190  
    191     <div id="z1"></div>
    192      
    193     <div id="z2"></div>
    194      
    195     <div id="z3"></div>
    196  
    197  
    198  
    199 <!-- class组合选择器 -->
    200  
    201     <div class="s1"></div>
    202      
    203     <div class="s2"></div>
    204      
    205     <div class="s3"></div>
    206  
    207  
    208  
    209 <!-- 属性选择器 -->
    210  
    211     <div s="dsx"></div>
    212      
    213     <div name="nn"></div>
    214  
    215 </body>
    216  
    217 </html>

    2.CSS优先级

    • 由内到外 由近到远 

    标签中style优先级最高,其次在代码中就近找,也就是从下往上找

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6 
     7     <!--第三种引入css样式表-->
     8     <link rel="stylesheet" href="s.css">
     9 
    10     <!--head中style是第一处写css样式的地方-->
    11     <style>
    12         .c1{
    13             background-color: red;
    14         }
    15     </style>
    16 </head>
    17 <body>
    18     <!--第二种通过属性的方式对标签增加css样式-->
    19     <div class="c1" style="background-color: black">1</div>
    20     <!--优先级-->
    21     <!--由内而外 由近到远-->
    22 
    23 </body>
    24 </html>

    优先级如下

    3.常见属性

    • 边框设置 如border
    • 文字大小、粗细、浮动等
    • display display:inline把块级标签变为行内标签;display:inline-block既是行内,又是块。不会让div沾满整行。同时还会对整个矩形实现样式;display:block行内转换为块
    • 外边距、内边距 margin-top外边距;padding-top内边距
    • 鼠标
    • 图片 overflow、background-repeat(no-repeat不重复堆叠显示;repeat-x横向堆叠;repeat-y纵向堆叠)
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7     </style>
     8 </head>
     9 <body>
    10     <!--font-size 大小 font-weight 粗细-->
    11     <div style="font-size: xx-large;font-weight: bolder">金牛座</div>
    12 
    13     <!--浮动-->
    14     <div class="f1" style="background-color: black">没有float</div>
    15     <div class="f1" style="background-color: green;float: right">float元素的浮动</div>
    16 
    17     <!--宽度可以使用百分比的方式 高度 不可以 写百分比-->
    18     <div style=" 30%;height: 48px;background-color:red"></div>
    19 
    20     <!--display 可以让标签在行内 和 块级之间 自由转换
    21     块转行内display: inline 显示为内联元素,元素前后没有换行符; 
    22     行内转块display: block 显示为块级元素,此元素前后会带有换行符;
    23     即是块 又是 行内display:inline-block;
    24     -->
    25     <div style="display: inline;">金牛座inline</div>
    26     <span style="display: block;">金牛座block</span>
    27     
    28     <!--行内标签不可以应用 宽、高 外边距 内边距的样式-->
    29     <span style=" 100px;height: 100px">123</span>
    30     <span style="background-color: red;display:inline-block; 100px;height: 100px;">456</span>
    31     <div style="display:none;border:1px red solid;100px;height: 100px;">789</div>
    32 
    33     <!--外边距
    34     不改变自身,针对外侧进行像素移动 margin、margin-bottom、margin-left、margin-right、margin-top
    35     -->
    36     <div style=" 100%;height: 100px;border: 1px red solid">
    37         <div style="margin-top:30px; 100%;height: 48px;background-color: blue"></div>
    38     </div>
    39 
    40     <!--内边距
    41     改变自身 padding、padding-bottom、padding-left、padding-right、padding-top
    42     -->
    43     <div style=" 100%;height: 100px;border: 1px red solid">
    44         <div style="padding-top:30px; 100%;height: 48px;background-color: blue"></div>
    45     </div>
    46 
    47     <!-- cursor 光标样式 -->
    48     <input type="button" value="登录" style="cursor: pointer">
    49    
    50     <!--overflow滚动条
    51     overflow: hidden 当图片或内容大于外层div时,自动 截取左上角图片
    52     overflow: auto 当内容或图片小于外层div则自动隐藏滚动条
    53     overflow: scroll 无论大小 都在增加滚动条
    54     -->
    55 
    56     <div style="overflow: scroll;border: 1px black solid; 200px;height: 200px">
    57         <img src="http://ui.imdsx.cn/static/image/dsx_Small.jpg">
    58     </div>
    59     <div style="overflow: auto;border: 1px black solid; 200px;height: 200px">
    60         <img src="http://ui.imdsx.cn/static/image/dsx_Small.jpg">
    61     </div>
    62         <div style="overflow: hidden;border: 1px black solid; 200px;height: 200px">
    63         <img src="http://ui.imdsx.cn/static/image/dsx_Small.jpg">
    64     </div>
    65 
    66     <!-- background-repeat 设置是否及如何重复背景图像 -->
    67     <div style="background-image: url('http://ui.imdsx.cn/static/image/dsx_Small.jpg');background-repeat:repeat-y; 200px;height: 200px;border: 1px black solid"></div>
    68     <!--background-position 属性设置背景图像的起始位置 -->
    69     <div style="background-position: 1px 1px;background-repeat: no-repeat;background-image: url('http://ui.imdsx.cn/static/image/icon.png'); 20px;height: 20px;border: 1px red solid;"></div>
    70 
    71 </body>
    72 </html>

    分层及层次分级

    postion分层

    描述
    absolute

    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

    不会随浏览器窗口的改变而改变。

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    fixed

    生成绝对定位的元素,相对于浏览器窗口进行定位

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    relative

    生成相对定位的元素,相对于其正常位置进行定位。

    定位的层相对于离他最近的父元素。

    因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

    static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
    inherit 规定应该从父元素继承 position 属性的值。

     

     

     

    例:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <style>
     7         .c1{
     8             height: 48px;
     9             background-color: green;
    10             position: fixed;
    11             top:0;
    12             left: 0;
    13             right: 0;
    14         }
    15     </style>
    16 </head>
    17 
    18 <!--postion 分层 fixed 绝对定位-->
    19 <!--position: fixed 绝对定位 相对于浏览器窗口进行定位,元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定-->
    20 <!-- margin 外边距 top right bottom left -->
    21 <body style="margin: 0">
    22     <div class="c1">position: fixed</div>
    23     <div style="background-color: black;height: 48px; 48px;position: fixed;right: 0;bottom: 0;"></div>
    24     <!-- margin-top 上外边距 -->
    25     <div style="margin-top:48px;height: 100px; 100%;border: 1px red solid;background-color: pink">
    26         金牛座 真厉害
    27     </div>
    28     <!--position:absolute 绝对定位 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定,不会随浏览器的窗口变化-->
    29     <!--position:relative 相对定位 定位的层总是相对于其最近的父元素,对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素-->
    30     <div style="position: relative;500px;height:500px;border:1px black solid;">
    31         <div style="position: absolute; 100px;height: 100px;background-color: red"></div>
    32         <div style="position: absolute; 100px;height: 100px;background-color: black"></div>
    33         <div style="position: absolute; 100px;height: 100px;background-color: blue"></div>
    34         <div style="right: 0;bottom:0;position: absolute; 100px;height: 100px;background-color: pink"></div>
    35     </div>
    36     <!--z-index 层次分级,数值大的显示在上层-->
    37     <div style="position: relative; 200px;height: 200px;border: 1px red solid">
    38         <div style="z-index: 10;position: absolute; 200px;height: 200px;background-color: red"></div>
    39         <div style="z-index: 9;position: absolute; 200px;height: 200px;background-color: blue"></div>
    40     </div>
    41 
    42 </body>
    43 </html>

    4.快速查看标签、id、类

    Chrome查看标签、id、class

    • 标签名#id值.class值

  • 相关阅读:
    获取各种高度宽度方法总结
    关于float、absolute,fixed谁的z-index大!
    一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
    clientHeight的纠结之处
    js和jq的获取元素偏移位置
    js的一些使用
    微信 ios的问题
    jQuery事件之鼠标事件
    遇到的问题
    css
  • 原文地址:https://www.cnblogs.com/momolei/p/9705121.html
Copyright © 2011-2022 走看看