zoukankan      html  css  js  c++  java
  • CSS

    一、在html中设置css样式的几种方法:

    (1)在style标签中添加CSS样式,写在head中;

    (2)在标签中增加style属性,也可以写CSS样式;

    (3)通过link标签导入的CSS样式表,rel代表类型,href代表路径。写在head中,如本文第三部分CSS样式引用的优先级的代码所示。

    例:<link rel="stylesheet" href="c.css"><!--css样式写在单独的css文件c.css中-->

    二、id选择器、class选择器、标签选择器、属性选择器

    选择器的作用:定位body中的标签

    1、id选择器(重要)

    a、id选择器使用的符号是#

    b、id的属性随意写,但是一个html标签中只允许出现一个id,不能重复

    (1)id选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            #i1{
                height: 100px;
                width: 100px;
                background-color:red;
            }
        </style>
    </head>
    <body>
        <div id="i1"></div>
        <div id="i2"></div>
        <div id="i3"></div>
    </body>
    </html>

    (2)id组合选择器

     id组合选择器中,body无变化,将id加上符号#,通过英文的逗号连接;

    #i1,#i2,#i3如下所示:
    <style>
            #i1,#i2,#i3{
                height: 100px;
                width: 100px;
                background-color:red;
            }
    </style>

    (3)id层级选择器

     在#id后添加需要设置样式的标签,如下#i3 span{},设置的是id为i3的div中的span标签的css样式。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            #i3 span{
                background-color: #26d7d9;
            }
        </style>
    </head>
    <body>
        <div id="i1"></div>
        <div id="i2"></div>
        <div id="i3">
            <span>testtesttest</span>
        </div>
        <span>选择外的span</span>
    </body>
    </html>

    2、class选择器

     a、body中的class名称可以随意写,一个html标签中可以存在多个相同的class属性;

    b、css样式中,class应用的最频繁;

    c、class选择器使用的符号是“.”

    (1)class选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            .c1{
                height: 100px;
                width: 100px;
                background-color: #0d8ddb;
            }
        </style>
    </head>
    <body>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
    </body>
    </html>

    (2)class组合选择器(知道即可,不需要使用)

     class组合选择器的body无变化,style中使用英文逗号连接多个class名称,如下所示:

    <style>
            .c1,.c2,.c3{
                height: 100px;
                width: 100px;
                background-color: #0d8ddb;
                margin-top: 10px;
            }
     </style>

    (3)class层级选择器

    如下代码所示:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            .c33 span{
                background-color: rebeccapurple;
            }
        </style>
    </head>
    <body>
        <div class="c1"></div>
        <div class="c2"></div>
        <div class="c33">
            <span>class层级选择器</span>
        </div>
        <span>选择外的span</span>
    </body>
    </html>

    3、标签选择器

     标签选择器是以标签的名字来定位的,应用于所有该名字的标签。

    如下代码,即是应用于所有div标签:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            div{
                height: 100px;
                width: 100px;
                background-color: blueviolet;
            }
        </style>
    </head>
    <body>
        <div></div>
    </body>
    </html>

    4、属性选择器

    属性选择器,依据属性进行命名,如使用html本身便有的属性,则应用于所有具有该属性的代码;也可以自定义属性进行使用。

    如下代码,即是应用自定义的属性:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            div[yhx="yhx"]{
                height: 100px;
                width: 100px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div yhx="yhx"></div>
    </body>
    </html>

    三、css样式引用的优先级

    css样式引用的优先级:

    1、标签上引用的css样式优先级最高
    以标签为基准 由内 而外 由下到上 依次应用
    以如下代码为例:
    首先引用的是标签内的style,其次是class选择器,最后是link引用的css样式表;
    若将link放置在styl的下面,则
    首先引用的是标签内的style,其次是link引用的css样式表,最后是class选择器;
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="c.css"><!--css样式写在单独的css文件c.css中-->
        <style>
            .c1 {
                height: 100px;
                width: 100px;
                background-color: pink;
            }
        </style>
    </head>
    <body>
    <div class="c1" style="height: 100px; 100px;background-color: red"></div>
    </body>
    </html>

    四、标签中的class属性,可以同时引用多个选择器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
       <style>
            .active{
                display: none;
            }
            .c1{
                height: 100px;
                width: 100px;
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div class="c1 active"></div>
        <div class="c1"></div>
    </body>
    </html>

    五、CSS样式

    css样式中,宽度可以写百分比的,高度不可以;

    border: 1px red solid; 边框 1像素 红色 实线

    font-size:xx-large;字体加大

    font-weight: bolder;字体加粗

    text-align: center;水平居中

    line-height: 48px;垂直居中,由于如下代码中高度就是48像素,所以垂直居中就是在48像素中间。具体使用时,按实际情况灵活应用。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
       <style>
            .c2{
                width: 100%;
                height: 48px;
                background-color: blue;
                font-size: xx-large;
                font-weight: bolder;
                text-align: center;
                line-height: 48px;
            }
        </style>
    </head>
    <body>
        <div class="c2">HTML</div>
    </body>
    </html>

    display:none隐藏当前元素

    <body>
        <div style="height: 100px; 100px;background-color: blue;display: none"></div>
    </body>

    六、外边距、内边距

    1、外边距margin-top:外边距自己本身不会做变化,而是相对于外层做移动

    外边距margin-top代表距离外层上边10px,

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            .c9{
                height: 100px;
                width: 100%;
                border: 1px red solid;
            }
    
            .c0{
                height: 50px;
                width: 100%;
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div class="c9">
            <div class="c0" style="margin-top: 10px"></div>
        </div>
    </body>
    </html>

     未设置margin-top(外边距):

    已设置margin-top(外边距):

    2、内边距padding-top:内边距改变的是自身。

    内边距padding-top代表距自身增加10px,示例代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
            .c9{
                height: 100px;
                width: 100%;
                border: 1px red solid;
            }
    
            .c0{
                height: 50px;
                width: 100%;
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <div class="c9">
            <div class="c0" style="padding-top: 10px"></div>
        </div>
    </body>
    </html>

    未设置内边距padding-top:

    已设置内边距padding-top:

    七、行内标签、块级标签(通过display属性进行转换)

    1、行内标签转块级标签 

    行内标签,不可以应用宽、高、外边距、内边距等css样式

    行内标签转块级标签,通过display:block

    <body>
        <span style="height: 100px; 100px;display: block">水瓶座</span>
    </body>

    查看页面元素显示:

    2、块级标签转行内标签,通过display:inline

    <body>
        <div style="height: 100px; 100px;display: inline">水瓶座</div>
    </body>

    页面元素如下图所示:

    3、既是行内标签,也是块级标签

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
       <style>
           .c6{
                height: 100px;
                width: 100px;
                display: inline-block;
                border: 1px red solid
            }
       </style>
    </head>
    <body>
        <span class="c6">水瓶座</span>
    </body>
    </html>

    页面元素展示:

    八、浮动float

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>CSS练习</title>
        <style>
             .c11{
                height: 48px;
                width: 100px;
                /*边框 1像素 红色 实线*/
                border: 1px red solid;
            }
        </style>
    </head>
    <body>
        <div class="c11" style="float: right"></div>
        <div class="c11" style="float: left"></div>
        <div class="c11" style="float: left"></div>
        <div class="c11" style="float: left"></div>
    </body>
    </html>

     

    九、position分层

    postion:fixed 绝对定位,写完后永远都在那一个地方

    分层:相当于一张纸放在另一张纸的上方,下面的纸如何滑动,不会影响上面纸的位置(仅为个人理解)。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>     
            .head{
                height: 48px;
                background-color: green;
                position: fixed;
                top: 0;
                right: 0;
                left: 0
            }
            .go-top{
                height: 48px;
                width: 100px;
                position: fixed;
                right: 0;
                bottom: 0;
            }
        </style>
    </head>
    <body style="margin: 0">
        <div class="head"></div>
        <div id="i1"></div>
        <div style="height: 10000px; 100%;margin-top: 48px"></div>
        <div class="go-top">
            <!--a标签可以用作锚点-->
            <a href="#i1">返回顶部</a>
        </div>
    </body>
    </html>

    十、相对定位

    1、position:relative和position:absolute是成对出现的,单独使用没有任何意义,absolute是相对于relative而言的。

    举例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>相对定位</title>
        <style>
            .out{
                height: 800px;
                width: 800px;
                border: 6px red solid;
                position: relative;
            }
            .inner{
                height: 200px;
                width: 200px;
                position: absolute;
            }
        </style>
    </head>
    <body>
        <!--相对定位-->
        <div class="out">
            <div class="inner" style="background-color: blue;right: 0;bottom: 0"></div>
            <div class="inner" style="background-color: red;right: 0;top: 0"></div>
            <div class="inner" style="background-color: black;left: 0;bottom: 0"></div>
            <div class="inner" style="background-color: pink;left: 0;top: 0"></div>
        </div>
    </body>
    </html>

    2、z-index 层级关系

    分层后通过z-index来记录层级关系,数值越大越放在前面。

     举例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>z-index 层级关系</title>
        <style>
            .inner{
                height: 200px;
                width: 200px;
                position: absolute;
            }
            .out-zindex{
                height: 200px;
                width: 200px;
                border: 6px red solid;
                position: relative;
            }
            .inner-zindex{
                height: 200px;
                width: 200px;
                position: absolute;
            }
        </style>
    </head>
    <body>
        <!--zindex的例子-->
        <div class="out-zindex">
            <div class="inner-zindex" style="background-color: blue;z-index: 10"></div>
            <div class="inner" style="background-color: red;z-index: 11"></div>
            <div class="inner" style="background-color: black"></div>
            <div class="inner" style="background-color: pink"></div>
        </div>
    </body>
    </html>

    十一、图片堆叠(滚动条)

    1、图片不添加overflow属性,不会生成滚动条,如下图所示

    2、当图片或内容超过外层div的宽和高时,overflow:auto将自动添加滚动条,如下图所示

    3、当图片或内容超过外层div的宽和高时,overflow:scoll将自动添加滚动条;区别于auto,如果父类大于内部图片或内容,则,依旧展示滚动条,而auto是自动识别的

    4、overflow:hidden 当父类图片小于内部图片或内容时,自动裁剪,以左上角为基准

    如上1、2、3、4部分的代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>滚动条</title>
        <style>
            .image{
                height: 200px;
                width: 200px;
                border: 1px red solid;
                background-image: url('http://ui.imdsx.cn/static/image/dsx_Small.jpg');
                /*当图片小于外层时,不做堆叠操作*/
                /*background-repeat: no-repeat;*/
                /*横向堆叠*/
                /*background-repeat: repeat-x;*/
                /*纵向堆叠*/
                /*background-repeat: repeat-y;*/
            }
        </style>
    </head>
    <body>
        <body>
            <!--滚动条-->
            <!--当图片或内容超过外层div的宽和高时,overflow:auto将自动添加滚动条-->
            <!--<div style="height: 100px; 100px;border: 1px red solid;overflow: auto">-->
                <!--<img src="http://ui.imdsx.cn/static/image/dsx.jpg">-->
            <!--</div>-->
    
            <!--当图片或内容超过外层div的宽和高时,overflow:scoll将自动添加滚动条;
            区别于auto,如果父类大于内部图片或内容,则,依旧展示滚动条,而auto是自动识别的-->
            <!--<div style="height: 100px; 100px;border: 1px red solid;overflow: scroll">-->
                <!--<img src="http://ui.imdsx.cn/static/image/dsx_Small.jpg">-->
            <!--</div>-->
    
            <!--overflow:hidden 当父类图片小于内部图片或内容时,自动裁剪,以左上角为基准-->
            <!--<div style="height: 100px; 100px;border: 1px red solid;overflow: hidden">-->
                <!--<img src="http://ui.imdsx.cn/static/image/dsx.jpg">-->
            <!--</div>-->
    
            <!--不添加overflow属性-->
            <div class="image"></div>
        </body>
    </body>
    </html>

    附:

    当图片小于外层时,不做堆叠操作--background-repeat: no-repeat;
    横向堆叠--background-repeat: repeat-x;
    纵向堆叠--background-repeat: repeat-y;

    5、background-position 了解即可,很少用到

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>滚动条</title>
    </head>
    <body>
        <body>
            <div style="height: 20px; 20px;border: 1px red solid;
              background-image: url('http://ui.imdsx.cn/static/image/icon.png');
                background-position: 0 0"></div>
    
        </body>
    </body>
    </html>

    十二、鼠标悬浮的样式(知道即可)

    cursor

    cursor一些不同的光标.

    cursor:pointer鼠标的小手

    cursor:move有很多种样式

    鼠标小手示例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>鼠标悬浮的样式</title>
    </head>
    <body>
        <body>
            <!--鼠标悬浮的样式-->
            <input type="button" value="小手" style="cursor: pointer">
        </body>
    </body>
    </html>

    附:大师兄的博客链接:http://ui.imdsx.cn/html/

  • 相关阅读:
    uva10422
    3259 spfa判断负环(邻接表)
    华东理工某ACMer总结
    POJ 1847 最短路径 垃圾水题可是坑爹多case问题初始化的锅
    HDU 1166 线段树基础题 基本模型
    用数组模拟邻接表
    优先队列
    POJ 3253 优先队列实现哈弗曼树
    POJ 3026 Kruskal+BFS
    POJ 1094差分约束系统拓扑排序
  • 原文地址:https://www.cnblogs.com/Noul/p/9595425.html
Copyright © 2011-2022 走看看