zoukankan      html  css  js  c++  java
  • CSS学习笔记

    插入样式表的方法:

    有三种样式表:元素内嵌样式表、文档内嵌样式表以及外部样式表。

    元素内嵌样式表和文档内嵌样式表:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title>cssprimary</title>
     5     <style type="text/css">
     6         a{                             <!--选择器,selector-->
     7             font-size: 16;
     8             color:green;
     9         }
    10     </style>
    11 </head>
    12 <body>
    13 <a>Hello world!</a><br>
    14 <a style="font-size: 16;color: red">Hello world!</a><br>
    15 <a>Hello world!</a><br>
    16 </body>
    17 </html>

    结果打印为:

    对于元素内嵌样式表,可以直接在<a>元素中添加属性style来进行设置,但这样只能改变这一个元素中的样式。

    对于文档内嵌样式表,则是在<head>元素中嵌入一个元素<style>,而<style>元素中的内容 a{ } 被称为选择器,在此代码中,代表选择所有<a>中的内容。

    外部样式表,则是在<head>元素中添加元素<link>,其中的属性值rel为”stylesheet",type属性值为"text/css",href属性值为.css文件的地址。 然后再在css文件中编辑样式,.css文件中的内容也是选择器。它与前两种样式表的区别在于其可以控制多个html文件。

    <!DOCTYPE html>
    <html>
    <head>
        <title>cssprimary</title>
        <link rel="stylesheet" type="text/css" href="a.css">
    </head>
    <body>
    <a>Hello world!</a><br>
    <a style="font-size: 16;color: red">Hello world!</a><br>
    <a>Hello world!</a><br>
    </body>
    </html>
    <!--------------------------.css文件中的内容如下------------------------------>
    a{                                        <!--选择器,selector-->
        font-size: 16;
        color: blue;
    }

    最后打印的结果如下:

    从以上实验中其实可以看出,关于样式表控制的文本范围顺序是:外部样式表 > 文档内嵌样式表  > 元素内嵌样式表,而当这三种样式表发生叠加时,其优先级为: 元素内嵌样式表 > 文档内嵌样式表 > 外部样式表。

    基本选择器:

    选择器用于选择相应元素,它有以下六种选择方式:

    1. 选择所有元素,选择器形式:*{ },选择的元素形式:所有元素
    2. 根据元素类型选择元素,选择器形式:元素名{ },选择的元素形式:元素名对应的元素
    3. 根据类(class)选择元素,选择器形式:.class名{ },选择的元素形式:<元素名 class=class名...>
    4. 根据ID选择元素,选择器形式:#ID名{ },选择的元素形式:<元素名 id=ID名>
    5. 根据属性选择元素,选择器形式:[属性名=“value”]{ },选择的元素形式:所有具有该属性且取值为value的元素,如果没有在[ ] 中指明该属性的取值,则选择所有具有该属性的元素,不论该属性取值为何。
    6. 其他选择器

    需要注意的是,上面说的class,id属性是一个全局属性,也就是说所有的元素都可以添加这个属性,只是取值不一定相同。另外,根据class选择和根据id选择的效果其实是等同的,但通常都需要强调的是,可以有多个元素对应一个class值,而对于id则最好一个元素只与一个id值对应。而且如果一个元素被一个根据id选择的选择器选择同时被一个根据class选择的选择器选择上时,则根据id选择的选择器具有更高的优先级。

    冒号选择器:

    与基本选择器的区别在于其形式为:选择条件:动作{ }。这里的选择条件其实跟前面的基本选择器一致,但本质的区别在于后面的那个 “:动作”字段,这部分用于指明在超文本中该元素发生什么样的动作,比如hover动作表示在超文本中鼠标指针经过了该元素部分。然后如果发生了该动作,则变成后面的样式表中指定的样式。

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

    控制边框和背景:

    边框

    <!DOCTYPE html>
    <html>
    <head>
        <title>border and background</title>
        <style type="text/css">
            .class1{
                font-size: 16;
                border:2px red dotted;
                border-top: 4px green solid;
            }
        </style>
    </head>
    <body>
    <p class="class1">Hello world!</p>
    </body>
    </html>

    结果为

    注意这里的"border:2px red dotted;"语句可以用另外三个语句实现:"border-width 2px; border-color red; border-style dotted;",后面的"border-top...“也是一样的道理。

    边框一般与盒子元素<div>搭配使用,这个在后面再讲。

    关于背景的处理,同样可以在选择器中添加相应属性来进行处理,具体属性的功能如下图:

    注意,background-color和background-image只有一个能生效。

    设置文本样式:

    使用选择器选择了相应的元素后,就可以对其格式进行处理,其实这部分的内容就相当于word文档中的关于文档处理的功能。我们可以在选择器内部添加下面这些属性,并为其赋值来控制其格式。

    css文本属性处理

    css字体处理

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

    冒号选择器的使用——

    使用过渡(关键字transition):

    所谓过渡就是当鼠标移动到某个元素上时会有一定的动作,比如最典型过渡就是在一些视频网页中,将鼠标移动到某个视频预览上时,会出现一个播放的标志,这个就是用过渡生成的。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>hover using</title>
        <style type="text/css">
            p{
                width: 80px;
                height: 80px;
                background-color: blue;
            }
            p:hover{
                width: 160px;
                height: 160px;
                background-color: red; 
                transition-delay: 100ms;                         <!--触发延迟100ms-->
                transition-duration: 500ms;                      <!--过渡进行的时间为500ms-->
                transition-property: background-color;           <!--第三阶段变化的属性为颜色-->
            }
        </style>
    </head>
    <body>
    <p>Hello world!</p>
    </body>
    </html>

    这个html就使用了过渡,最开始超文本中只有一个80×80px的蓝色方块,当鼠标移入这块区域后100ms,这块方块瞬间变成160×160的蓝色方块,然后在接下来的500ms内,这个方块慢慢变成红色。鼠标移走后又马上变回原来的样子。

    注意前transition-property属性中指出p:hover{ }中出现的属性,然后,在transition-delay和transition-duration的限制下发生变化。

    此外transition-timing-function,可以定义这个动作变化的速度,ease-in表示先慢后快,ease-out表示先快后慢,linear表示线形增长。

    使用动画(关键字animation):

    动画可以算是过渡的升级版,除了可以向过渡一样规定动作进行的延迟和时间,它还可以规定动作进行的次数,以及对动作进行中的个别帧进行处理。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>animation</title>
        <style type="text/css">
            p{
                width: 128px;
                height: 128px;
                background-color: blue;
            }
            p:hover{
                animation-delay: 500ms;                             <!--动作进行的延迟-->
                animation-duration: 1s;                             <!--动作进行的时间-->
                animation-name: helloworld;                         <!--动画的名称-->
                animation-iteration-count: infinite;                <!--动作进行的次数-->
                animation-direction: alternate;                     <!--动作进行的方向,这里是指动作往复变化都采用此动画-->
            }
            @keyframes helloworld{                                  <!--定义该动画-->
                from{                                               <!--起始帧-->
                    width: 128px;
                    height: 128px;
                    background-color: blue;
                }
                25%{                                                <!--动作进行25%时的帧-->
                    width: 128px;
                    height: 128px;
                    background: green;
                }
                75%{                                                <!--动作进行75%时的帧-->
                    width: 256px;
                    height: 256px;
                    background-color: red;
                }
                to{                                                 <!--动作进行到最后的帧-->
                    width: 256px;
                    height: 256px;
                    background: black;
                }
            }
        </style>
    </head>
    <body>
    <p>Hello world!</p>
    </body>
    </html>

    需要注意的是,动画与过渡在代码上最大的不同是,动画需要在p:hover{ }中声明一个动画的名称,然后再在外面加一个@keyframes 动画名称{ },来规定动画进行的帧。

    使用变换(关键字transform):

     这其实与前面说的过渡是差不多的,只不过可以在transform中添加属性,transform-rotate(deg),来使原来的元素旋转deg角度,而且可以通过transform-origin来设置旋转的中心;也可以添加属性transform-scale(time)来是原来的元素放大time倍,过渡也可以有放大的功能,但这里与之不同的是,这里是以元素中心为准进行放大的,而过渡则只是将原来的元素替换成一个尺度更大的元素。

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

    盒子的使用(关键字div):

    盒子通常用于网页排版。网页设计中常听到的属性名:内容(content)、填充(padding)、边框(border)、边界(margin),CSS盒子模式都具备这些属性。其实这里的盒子和现实生活中的盒子有差不多的意思。盒子模型就是网页设计中经常使用到的CSS技术所使用的一种思维模型。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>box</title>
        <style type="text/css">
            .class1{
                text-align: center;                        <!--规定文本格式,居中-->
                width: 256px;                              <!--边框宽为256px-->
                height: 256px;                             <!--边框高为256px-->
                border: 1px black solid;                   <!--边框属性-->
                background-color: green;                   <!--背景-->
                padding: 64px;                             <!--填充部分,内容到边框部分-->
                margin: 128px;                             <!--外边界部分,即边框外的部分-->
            }
        </style>
    </head>
    <body>
    <div class="class1">Hello world!</div>
    </body>
    </html>

     按钮的样式-去掉自带的边框:border:none; outline: none; 加入这两行代码即可去掉边框。

  • 相关阅读:
    Ansys Maxwell2——二维电磁场理论和有限元基础
    Ansys Maxwell在工程电磁场中的应用1——二维分析技术
    第四章 栈
    第三章 链表
    第二章 队列
    第三章 操作系统用户界面总结
    第一章 逻辑结构与物理结构
    Linux-Mint的一些配置经验
    docker安装zookeeper的使用说明
    SpringCloud初体验-使用Eureka进行服务注册和发现
  • 原文地址:https://www.cnblogs.com/TheFutureIsNow/p/10801866.html
Copyright © 2011-2022 走看看