zoukankan      html  css  js  c++  java
  • CSS

    什么是CSS

    • CSS指重叠样式表(Cascading Style Sheets)
    • 样式定义如何显示HTML元素
    • 样式通常存储在样式表中
    • 把样式添加在HTML中,是为了解决内容与表现分离的问题
    • 外部样式表可以极大提高工作效率
    • 外部样式表通常存储在CSS文件中
    • 多个样式定义可层叠为一

    CSS创建

    HTML去完成文档,浏览器会根据CSS去美化它,CSS中常见的4种引入方式如下

    行内式

    <p style="color: brown">hello world</p>
    

    这种情况下,会史的HTML的代码显得繁琐不好看,我们一般不推荐使用

    嵌入式  

    <style>
            p{
                background-color: brown;
            }
    </style>
    

    这种方法是通过写在body内的标签去标示,然后统一写在head标签内,一般情况下我们测试代码的时候用的比较多,生产中大多选择链接式

    链接式

    将CSS代码统一写在CSS文件中,然后通过link去引用

    body{
        margin: 0px;
        }
    .action_menu{
        background-color: dodgerblue;
    
        }
    .action{
        color: gold;
    
        font-family: 'Lucida Bright';
       }
    
    #引用
    <link href="布局.css" rel="stylesheet" type="text/css">
    

    导入式  

    一般不用

    <style type="text/css">
     
              @import"文件路径";
     
    </style> 
    

    CSS选择器  

    id和class选择器

    • id选择器可以表示特定id的HTML元素指定特定的格式,CSS中id选择器以'#'来定义
    • class选择器用于描述一组元素的样式,可以在多个元素中使用,以'.'来定义

    id实例

    <style>
            #p1{
                color: red;
            }
        </style>
    

    class实例

    .action_menu{
        background-color: dodgerblue;
        }
    

    标签选择器和 * 选择器 

    标签选择器通过HTML中的标签来匹配

    * 选择器能匹配任何元素

    一般这两种不常用

    属性选择器

    具有特定的HTML元素

    #属性选择器:把标题为title的元素变色
    [title]
    {
        color:blue;
    }
    
    #属性和值选择器:标题title='runoob'元素的边框样式:
    [title=runoob]
    {
        border:5px solid green;
    }
    
    #多值:其中一个值为hello
    [title~=hello] { color:blue; }
    
    #匹配以hello开头的每隔元素
    [title ^=hello] {color:red;}
    
    #$匹配以hello结尾的元素
    [title $=hello] {color:red;}
    
    #* 匹配包含hello的元素
    [title *=hello] {color:red;}
    
    p:before        在每个 <p> 元素的内容之前插入内容 p:before{content:"hello";color:red}   
                  
    p:after         在每个 <p> 元素的内容之前插入内容  
     p:after{ content:"hello";color:red}
    

    组合选择器  

    CSS中包含如下四种组合方式:

    • 后代选择器:以空格分割
    • 子代(元素)选择器:以 > 分割
    • 相邻选择器:以 + 分割
    • 多元素选择器:以 , 分割
    E,F         多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔         div,p { color:#f00; }
    
     E F         后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔    li a { font-weight:bold;
     E > F       子元素选择器,匹配所有E元素的子元素F                            div > p { color:#f00; }
     
     E + F       毗邻元素选择器,匹配所有紧随E元素之后的同级元素F                  div + p { color:#f00; }  
    

    伪类

    语法

    selector.class:pseudo-class {property:value;}
    

    在支持CSS的浏览器中,链接的不同状态可以有不同的状态显示

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

    注:

    • 在CSS中a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
    • 在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。
    • 伪类的名称不区分大小写。    

    CSS常用个属性

    CSS背景

    CSS背景属性属于定义HTML元素的背景,常用背景效果

    • background-color    背景颜色
    • background-image   背景图片
    • background-repeat  设置背景图像是否及如何重复。
    • background-attachment  背景图像是否固定或者随着页面的其余部分滚动。
    • background-position  设置背景图像的起始位置。
    body
    {
    background-image:url('img_tree.png'); #找到图片
    background-repeat:no-repeat 0 0;   #图片不重复
    background-position:right top;  #图片放的位置,右侧顶部
    }
    

    以上实例中我们可以看到页面的背景颜色通过了很多的属性来控制。为了简化这些属性的代码,我们可以将这些属性合并在同一个属性中。

    背景颜色的简写属性为 "background"

    body {background:#ffffff url('img_tree.png') no-repeat  right top;}
    

    CSS文本  

    文本对齐

    文本排列属性是用来设置文本的水平对齐方式。文本可居中或对齐到左或右,两端对齐。

    当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐(如杂志和报纸)。

    h1 {text-align:center;}
    p {text-align:right;}
    p {text-align:justify;}
    

    常用文本属性如下

    color    设置文本颜色
    direction    设置文本方向。
    letter-spacing    设置字符间距
    line-height    设置行高
    text-align    对齐元素中的文本
    text-decoration    向文本添加修饰
    text-indent    缩进元素中文本的首行
    text-shadow    设置文本阴影
    text-transform    控制元素中的字母
    unicode-bidi    设置或返回文本是否被重写 
    vertical-align    设置元素的垂直对齐
    white-space    设置元素中空白的处理方式
    word-spacing    设置字间距
    View Code

    CSS字体

    字体样式一般分为加粗、大小、样式类型等

    在CSS中,有两种类型的字体类型

    • 通用字体系列 : 拥有相似外观的字体系统组合(如 "Serif" 或 "Monospace")
    • 特定字体系列 : 一个特定的字体系列(如 "Times" 或 "Courier")

    字体样式有三种情况

    • 正常:正常显示
    • 斜体:以斜体字显示
    • 倾斜的文字:文字向一侧倾斜和斜体类似,但不支持
    p.normal {font-style:normal;}
    p.italic {font-style:italic;}
    p.oblique {font-style:oblique;}
    

    下面是常用字体属性

    font    在一个声明中设置所有的字体属性
    font-family    指定文本的字体系列
    font-size    指定文本的字体大小
    font-style    指定文本的字体样式
    font-variant    以小型大写字体或者正常字体显示文本。
    font-weight    指定字体的粗细。
    View Code

    CSS列表

    不同的列表有不同的标记类型,如下

    ul.a {list-style-type: circle;}
    ul.b {list-style-type: square;}
    
    ol.c {list-style-type: upper-roman;}
    ol.d {list-style-type: lower-alpha;}
    

    CSS所有列表属性

    list-style	简写属性。用于把所有用于列表的属性设置于一个声明中
    list-style-image	将图象设置为列表项标志。
    list-style-position	设置列表中列表项标志的位置。
    list-style-type	设置列表项标志的类型。
    

    CSS边框属性 

    • margin:            用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
    • padding:           用于控制内容与边框之间的距离;   
    • Border(边框)     围绕在内边距和内容外的边框。
    • Content(内容)   盒子的内容,显示文本和图像。

    在CSS中border-style属性用来定义边框的样式 

    none: 默认无边框
    dotted: dotted:定义一个点线框
    dashed: 定义一个虚线框
    solid:  定义实线边界
    double: 定义两个边界。 两个边界的宽度和border-width的值相同
    groove: 定义3D沟槽边界。效果取决于边界的颜色值
    ridge: 定义3D脊边界。效果取决于边界的颜色值
    inset:定义一个3D的嵌入边框。效果取决于边界的颜色值
    outset: 定义一个3D突出边框。 效果取决于边界的颜色值
    

    注意 border-style四个属性值

    border-style:dotted solid double dashed;
    上边框是 dotted
    右边框是 solid
    底边框是 double
    左边框是 dashed
    
    border-style:dotted solid double;
    上边框是 dotted
    左、右边框是 solid
    底边框是 double
    
    border-style:dotted solid;
    上、底边框是 dotted
    右、左边框是 solid
    
    border-style:dotted;
    四面边框是 dotted
    4个属性

    下面是所有的边框的属性列表

    border    简写属性,用于把针对四个边的属性设置在一个声明。
    border-style    用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
    border-width    简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
    border-color    简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。
    border-bottom    简写属性,用于把下边框的所有属性设置到一个声明中。
    border-bottom-color    设置元素的下边框的颜色。
    border-bottom-style    设置元素的下边框的样式。
    border-bottom-width    设置元素的下边框的宽度。
    border-left    简写属性,用于把左边框的所有属性设置到一个声明中。
    border-left-color    设置元素的左边框的颜色。
    border-left-style    设置元素的左边框的样式。
    border-left-width    设置元素的左边框的宽度。
    border-right    简写属性,用于把右边框的所有属性设置到一个声明中。
    border-right-color    设置元素的右边框的颜色。
    border-right-style    设置元素的右边框的样式。
    border-right-width    设置元素的右边框的宽度。
    border-top    简写属性,用于把上边框的所有属性设置到一个声明中。
    border-top-color    设置元素的上边框的颜色。
    border-top-style    设置元素的上边框的样式。
    border-top-width    设置元素的上边框的宽度。
    属性

    CSS之display

    display属性是设置一个元素如何显示,与之相似得属性visibility是设置元素的可见性

    如若设置一个元素隐藏,可以通过把display属性设置为"none",或把visibility属性设置为"hidden"

    另外display最重要的是可以改变块级元素和内联元素的属性,使之某个元素既具有块级元素的属性,又有内联元素的属性

    下面的示例把列表项显示为内联元素:

    li {display:inline;}
    

    下面的示例把span元素作为块元素:  

    span {display:block;}
    

    CSS Position(定位) 

    static定位 

    HTML元素的默认值,即没有定位,元素出现在正常的流中。

    静态定位的元素不会受到top, bottom, left, right影响。

    Fixed定位

    元素的位置相对于浏览器窗口是固定位置。

    即使窗口是滚动的它也不会移动,

    p.pos_fixed
    {
    position:fixed;
    top:30px;
    right:5px;
    }
    

    Relative 定位

    h2.pos_left
    {
    position:relative;
    left:-20px;
    }
    h2.pos_right
    {
    position:relative;
    left:20px;
    }
    

    Absolute定位

    绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:

    h2
    {
    position:absolute;
    left:100px;
    top:150px;
    }
    

    CSS Float(浮动)  

    元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。浮动元素之后的元素将围绕它。浮动元素之前的元素将不会受到影响。如果图像是右浮动,下面的文本流将环绕在它左边。

    常见有两种一是float设置怎样浮动,二是clear清空浮动

    FLOAT:指定一个元素是否可以浮动

    • left
    • right
    • none

    CLEAR:清空浮动现象

    • left :不允许左边有浮动
    • right :不允许右边有浮动
    • both :不允许两边都有浮动
    • none :默认允许两边都有浮动

      

      

      

  • 相关阅读:
    1 . CentOS 7的yum更换为国内的阿里云yum源
    0. vagrant+vbox创建centos7虚拟机
    git上传到码云和下载到本地
    spring boot udp或者tcp接收数据
    你好,博客园
    使用firdder抓取APP的包
    初见loadrunner
    sublime快捷键大全
    html中行内元素与块级元素的区别。
    html.css溢出
  • 原文地址:https://www.cnblogs.com/flash55/p/6026826.html
Copyright © 2011-2022 走看看