zoukankan      html  css  js  c++  java
  • CSS

    一. CSS:

      1. 在标签上设置style属性:

                          background-color: #FFA000;

                         height: 48px;

       2. 写在head里面,style标签中写样式:

        CSS选择器

              (1)id选择区:(用的少,了解)

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            #i1{
                background-color:#FFA000;
                height:48px;
                /*样式复用*/
            }
        </style>
    </head>
    <body>
        <div id="i1"></div>
        <div id="i1"></div>
        <div id="i1"></div>
         /*但是id不能重复,矛盾了,怎么办*/
    </body>
    

      

                  (2)class选择器:(推荐使用)

        

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                background-color:#FFA000;
                height:48px;
            }
        </style>
    </head>
    <body>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
    </body>
    

            注:注释:(/*         */)

                  (3)标签选择器:

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{           
                background-color:#FFA000;
                height:48px;
            }
        </style>
    </head>
    <body>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
    </body>
    注:所有的div都用了定义的格式

         

           (4) 关联选择器:(层级)

                                  只有span下的div应用了格式。 

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            span div{
                background-color:#FFA000;
                height:48px;
            }
        </style>
    </head>
    <body>
        <div class="c1">lasi</div>
        <span class="c1">
            <div>
                zhangsan
            </div>
        </span>                  
        <div class="c1">wagnmazi</div>
    </body>
    

        (5)层级选择器:空格

                        .c1 span a p{ } :  .c1下的span下的a下的p标签,各级标签之间用空格。

             (6)组合选择器:逗号

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            #i1,#i2,#i3{
                background-color:#FFA000;
                height:48px;
                /*样式复用*/
            }
        </style>
    </head>
    <body>
        <div id="i1"></div>
        <div id="i2"></div>
        <div id="i3"></div>
    </body>
    

      (7)属性选择器

                            对选择到的标签在通过属性进行一次筛选。

                 ps:优先级:标签上style优先,其次按代码编写顺序;

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                background-color: #FFA000;
                color: red;
            }
            .c2{
                font-size: 28px;
                color: black;
            }
        </style>
    </head>
    <body>
    <div class="c1 c2" >zhagnsan</div>
    </body>
    

       补充:css样式也可以写在单独的文件中,提高复用性(优先级同上)

            

    3.注释

    4.边框
        宽度,样式,颜色,上下左右(每个属性之间用分号隔开):

         height:高度(数字,百分比(单独使用时无用))

         width:宽度(宽度,百分比)

         line-height自适应居中(垂直方向根据div大小居中):

         text-align:center :水平方向居中

         color:颜色

         font-size:字体大小

         font-weight:字体加粗

      <div style="border:1px solid red;" >zhagnsan</div>
      <div style="border-bottom:1px solid red;" >zhagnsan</div>

    5.背景

    6. float(****重点***)

        让标签浪起来,块级标签也可以堆叠:

    代码见CSS中s6>
    <!
    DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .pg-header{ height:38px; background-color: #dddddd; /*灰色*/ line-height: 38px; } </style> </head> <body style="margin: 0 auto"> <div class="pg-header"> <div style="float: left;">收藏本站</div> <div style="float: right;"> <a>登陆</a> <a>注册</a> <a>搜索</a> </div> </div> <div style="300px;border: 1px solid red;"> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">1</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">2</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">3</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">4</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">5</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">6</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">7</div> <div style=" 96px;height: 30px;border: 1px solid green;float: left;">8</div> <div style="clear: both;"></div> <!--父子(红色边框)与儿子(绿色边框)的边框不冲突,注意这个坑--> <!--div中可以嵌套div,里面的儿子可以飘(float)起来,飘起来之后,老子就管不住了,可以内部最后用<div style="clear: both;"></div>去调整;--> </div> </body> </html>

      示例2:

    <body>
         <div style=" 20%;background-color: red;float: left">zhangsan</div>
         <div style="60%;background-color: green;float: left">xiaolaizi </div>
    </body>

    效果如下:

    7.display    用的也较多

        块级转行内,行内转块级标签

        display:inline;  块级转行内

        display:block;  内联变块级

        display:none;  让标签消失

     

     注:行内标签无法设置高度,宽度,padding margin;

    那么可以做一些结合:

            display:inline-block;  具有inline属性,默认自己有多少占多少,

                                              又具有block属性,可以设置无法设置高度,宽度,padding,margin

    转前:

    <body>
         <div style="background-color: red;">ziyu</div>          #div默认块级标签
         <span style="background-color: blue;">xiaolaizi</span>  #span默认行内标签
    </body>

    效果:

     转后:

    <body>
         <div style="background-color: red;display: inline">ziyu</div>
         <span style="background-color: blue;display: block">xiaolaizi</span>
    </body>

    效果:

    8.padding margin(0,auto)  边距

    内边距:padding

    外边距: margin

    9.text-align

    10.height   width   line-height    color   font-size     font-weight

    ==================================================================

    小结:

    1. CSS重用

    同一行有多种样式:
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
    
            }
            .c2{
    
            }
        </style>
    </head>
    <body>
        <div class="c1 c2"></div>
         <!--同一行有多种样式-->
    </body>

    2. 改变大小变形

               (1)左右滚动条的出现

                (2)宽度的设置有两种:数字px

                                                          百分比

                  解决:在页面最外层设置像素的宽度=>最外层设置绝对宽度

    3.  自适应

                  media属性

    4.img默认标签,有一个1px的边框

         解决:设置border为0即可

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            img{
                border:0;
            }
        </style>
    </head>
    <body>
        <a href="http://www.baidu.com">
            <img src="1.jpg" style="200px;height: 300px;"/>
        </a>
         <!--用谷歌打开没问题,用ie打开出现蓝色的边框(ie浏览器会出现的问题),加border可以解决-->
            <!--<style>-->
            <!--img{-->
                <!--border:0;-->
            <!--}-->
        <!--</style>-->
    
    </body>
    </html>

     ==========================================================================================

    二. CSS:

    1.position  (有了层的概念)(15章s3文件)

                  1)、 position:fixed => 固定在页面的某个位置(墙上贴张纸,纸上贴张画的功能)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .pg-header{
                height: 48px;
                background-color: black;
                color: orange;
                position: fixed;
                top:0px;
                right: 0px;
                left: 0px;
                /*左面等于0,右面等于0可满足头部占满一行*/
            }
            .pg-body{
                margin-top: 48px;
                /*身体部分离顶部48px(头部的大小),可避免头部压盖身体部分。*/
                height: 50000px;
                background-color: #888888;
            }
        </style>
    </head>
    <body>
        <div class="pg-header">头部</div>
        <div class="pg-body">内容</div>
        <!--头部会挡住内容怎么办?-->/*身体部分离顶部48px(头部的大小),可避免头部压盖身体部分。*/
     </body> </html>

                  2)、position:absolute    (一锤子买卖,常与relative一起使用)

          

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div style="position:relative;500px; height:200px;border: 1px solid red;margin: 0 auto;">1
            <div style="position: absolute;left: 0;bottom:0; 50px;height: 50px;background-color:gray;">11</div>
            <!--依据父标签进行相对定位-->
        </div>
    
        <div style="position:relative;500px; height:200px;border: 1px solid red;margin: 0 auto;">2
            <div style="position: absolute;right: 0;bottom:0; 50px;height: 50px;background-color:gray;">22</div>
        </div>
    
        <div style="position:relative;500px; height:200px;border: 1px solid red;margin: 0 auto;">3
            <div style="position: absolute;right: 0;top:0; 50px;height: 50px;background-color:gray;">33</div>
        </div>
    </body>
    </html>

    效果:                                                                                应用场景示例:

     

                3)、三层样式

     

                      opacity:  透明度设置;

                      z-index: 层级顺序;  

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div style="z-index:10;position: fixed;top: 50%;margin-top: -200px;left:50%;margin-left:-250px;background-color:white;height:400px;500px;opacity: 0.7 ">第三层</div>
           <!--z-index:10 控制图层的顺序,谁的值大,谁在上一层-->
            <!--top: 50%/left:50%:让框居中,但是是以左上角顶点居中的,为了让整个框居中,再以框的大小的一半像素平移,即margin-top: -200px;margin-left:-250px;-->
        <div style="z-index:9;position: fixed;background-color: yellowgreen;top: 0;bottom: 0;left: 0;right: 0;opacity: 0.5 ">第二层</div>
        <!--opacity:设置当前的透明度-->
        <div style="z-index:8;height: 5000px;background-color: green">底面:第一层</div>
    </body>
    </html>

    效果;

    2、overflow

           1)、 当图片比设置的框大的时候,会撑开框,为了是图片在框内显示:

                       overflow:hidden->超过框的不显示;(也就意味着只能看到图片的部分)

                       overflow:auto->在设置的框内出现滚动条,通过滚动条查看全图;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div style="height: 200px; 300px;overflow: hidden">
            <img src="1.jpg">
        </div>
    </body>
    </html>

              2)、一定需要看到整张照片呢,则可以把照片的大小和框的大小设置为一样。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div style="height: 200px; 300px;">
            <img src="1.jpg" style="height: 200px; 300px;" />
        </div>
    </body>
    </html>

     3. hover

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .pg-header{
                position: fixed;
                right: 0;
                left: 0;
                top: 0;
                height: 48px;
                background-color: #2459a2;
                line-height: 48px;
            }
            .pg-body{
                margin-top: 50px;
            }
            .w{
                width: 980px;
                margin: 0 auto;
            }
            .pg-header .menu{
                display: inline-block;
                padding: 0 10px 0 10px;
                color: white;
            }
            /*当鼠标移动到当前标签上时,以下css属性才生效*/
            .pg-header .menu:hover{
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div class="pg-header">
            <div class="w">
                <a class="logo">LOGO</a>
                <a class="menu">全部</a>
                <a class="menu">42区</a>
                <a class="menu">段子</a>
                <a class="menu">1024</a>
            </div>
        </div>
        <div class="pg-body">
            <div class="w"></div>
        </div>
    </body>
    </html>

    效果:

           

        4.background

                          1)图片背景

                               2)background-image:url('image/4.gif');  #默认,div比较大的时候,图片重复访

                               3) background-repeat:

                               4)background-position-x

                                     background-position-y:(position 抠洞原理)

                                      background-position:10px 10px

     ===========================================================================================================================================================================================

    综合的小示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
        <!--span:行内标签-->
        <div style="height: 35px ; 400px;position:relative;border: 1px solid red;">
            <input type="text" style="height: 35px ; 370px;padding-right: 30px"/>
            <!--给右边留出30像素的大小放图标,把输入框大小设置为370像素,避免输入文本过长被图标遮挡(总的加起来还是整个div的大小。-->
            <span style="position: absolute;right:0;top:10px;background-image:url(i_name.jpg);height: 16px; 16px;display: inline-block;"></span>
        </div>
    </body>
    </html>

    效果:

    ==========================================================================================================================================================================================

  • 相关阅读:
    CTSC2018滚粗记
    HNOI2018游记
    NOIWC 2018游记
    PKUWC2018滚粗记
    HNOI2017 游记
    NOIP2017题解
    [HNOI2017]抛硬币
    [HNOI2017]大佬
    NOIP难题汇总
    [NOI2013]树的计数
  • 原文地址:https://www.cnblogs.com/bltstop/p/10651676.html
Copyright © 2011-2022 走看看