百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Html5+CSS3基础知识汇总-CSS3篇

zhezhongyun 2025-02-06 17:06 35 浏览

今天总结的是CSS3的学习内容

一、CSS简介

CSS3是CSS技术的升级版本,CSS即层叠样式表(Cascading StyleSheet)。CSS3语言是朝着模块化发展的,把它分解成小的模块,并且加入 更多新的模块进来:

                    盒子模型
                    文字特效
                    边框圆角
                    动画
                    多列布局
                    用户界面
                    旋转
                    渐变
                    ...

二、CSS3的应用

2.1.超级选择器

CSS选择器:使用CSS对html页面中的元素实现一对一,一对多或者多对一的控制:

选择器
{
    样式
}

1.属性选择器

在CSS3中追加了三个选择器:[att*=val];[att^=val];[att$=val]–>att表示为属性,val表示为属性的属性值。

[att*=val]:如果元素用att表示的属性的值中包含val指定的字符,那么该元素使用这个样式。

[att$=val]:如果元素用att表示的属性的属性值的结尾字符用val指定的字符,那么该元素使用这个样式。

[att^=val]:如果元素用att表示的属性的属性值的开头字符为用val指定的字符,那么该元素使用这个样式。

注意: /如果纯用数字的时候该样式不会显示成功,需要用\连接与数字最近的符号 注意!只有’-‘的字符需要加’\’/


    
    css3中的属性选择器
    


    

CSS3中的属性选择器

section1A
sectionB
section2-1

2.结构性伪类选择器
(1)类选择器
使用类选择器把相同的元素定义成不同的样式,伪类选择器是已经定义好的不可以随便起名

p.right{
    color:red;
}
p.left{
    colot:blue;
}

(2)伪类选择器—-最常见的伪类选择器:a(使用顺序为:未,已,悬,停)

        a:link{
            color: #ff6600;
        }
        a:visited{
            color: blueviolet;
        }
        a:hover{
            color: aqua;
        }
        /*鼠标点击时*/
        a:active{
            color: darkblue;
        }

(3)伪元素选择器
针对于CSS中已经定义好的伪元素使用的选择器(first-line;first-letter;before;after)。

选择器:伪元素{
    属性:值;
}
选择器.类名:伪元素{
    属性:值;
}

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以关注我的头条号并在后台私信我:前端,即可免费获取

first-line伪元素选择器:向某个元素中的第一行文字使用样式。

first-letter伪类选择器:向某个元素中的文字的首字母或者第一个文字使用样式。

before:在某个元素之前插入一些内容。

after:在某个元素之后插入一些内容。

可以使用before和after伪元素在页面中插入文字,图像,项目编号等。

插入文字:E:before/after

排除一些不需要插入内容的元素:E:none:before/after

插入图像

插入项目编号

a.在多个标题前加上编号:counter属性对项目追加编号

            元素:before{
                content:counter(计数器);
            }
            元素{
                counter-increment:content属性值中所指定的计数器名称;
            }
    b.对编号中添加文字
    c.指定编号的样式
    d.指定编号的种类:list-style-type
    e.编号嵌套,重置编号
        要对哪一个元素进行重置,那么就在该元素的父元素上进行设置reset。
    f.中编号中嵌入大编号
        h2:before{
            content:counter(大编号计数器)'-'conter(中编号计数器);
    g.在字符串两边嵌套文字符号:open-quoter&close-quoter

    
    伪元素选择器
    


    

CSS中主要有四个伪类选择器

CSS中主要有四个伪类选择器
first-line伪元素选择器:向某个元素中的第一行文字使用样式

first-letter伪类选择器:向某个元素中的文字的首字母或者第一个文字使用样式

befor&after

(4)结构性伪类选择器

  • root选择器:将样式绑定到页面的根元素中。
  • not选择器:只对某个结构元素使用样式,但该元素下面的子结构元素不使用该样式。
  • empty选择器:指定当元素中内容为空白时显示的样式。

    


    
1 2 3
  • target选择器:在用户点击了超链接并转到target元素后,对页面中某个target元素指定样式。
  • 
        
    
    
        

    target选择器

    A B

    A标题

    内容

    B标题

    内容

    first-child:单独指定第一个子元素的样式。

    last-child:单独指定最后一个子元素的样式。

    nth-child:选择器匹配正数下来的第N个子元素,nth-child(odd)为第奇数个子元素,nth-child(even)为第偶数个子元素。

    nth-last-child(n):匹配倒数数下来第n个子元素。

    nth-of-type:正数,当指定元素为标题加内容的时候,如果使用上面的方法会导致真正的指定元素不被成功指定,因此需要使用nth-first-type方法进行指定。

    nth-last-type:倒数,同nth-first-type。

    循环使用样式:nth-child(An+B)–A 表示每次循环中共包括几种样式,B表示指定的样式在循环中所处的位置。

    only-child:只对一个元素起作用。

    
        
        结构性伪类选择器
        
    
    
        

    选择器first-child;last-child;nth-child;nth-last-child

    • No.1
    • No.2
    • No.3
    • No.4
    • No.5
    • No.6
    • No.7
    • No.8
    • No.9
    • No.10
    • No.11
    • No.12

    唯一的

    • 唯一,多加一个就没有啦

    A标题

    内容

    B标题

    内容

    3.UI元素状态伪类选择器
    指定的样式只有在元素处于某种状态下才起作用,在默认状态下不起作用!

    选择器:伪元素{
        属性:值;
    }
    选择器.类名:伪元素{
        属性:值;
    }

    first-line伪元素选择器:向某个元素中的第一行文字使用样式。

    first-letter伪类选择器:向某个元素中的文字的首字母或者第一个文字使用样式。

    before:在某个元素之前插入一些内容。

    after:在某个元素之后插入一些内容。

    可以使用before和after伪元素在页面中插入文字,图像,项目编号等。

    插入文字:E:before/after

    排除一些不需要插入内容的元素:E:none:before/after

    插入图像

    插入项目编号

    a.在多个标题前加上编号:counter属性对项目追加编号

                元素:before{
                    content:counter(计数器);
                }
                元素{
                    counter-increment:content属性值中所指定的计数器名称;
                }
        b.对编号中添加文字
        c.指定编号的样式
        d.指定编号的种类:list-style-type
        e.编号嵌套,重置编号
            要对哪一个元素进行重置,那么就在该元素的父元素上进行设置reset。
        f.中编号中嵌入大编号
            h2:before{
                content:counter(大编号计数器)'-'conter(中编号计数器);
           g.在字符串两边嵌套文字符号:open-quoter&close-quoter   
    
        
        伪元素选择器
        
    
    
        

    CSS中主要有四个伪类选择器

    CSS中主要有四个伪类选择器
    first-line伪元素选择器:向某个元素中的第一行文字使用样式

    first-letter伪类选择器:向某个元素中的文字的首字母或者第一个文字使用样式

    befor&after

    (4)结构性伪类选择器

    • root选择器:将样式绑定到页面的根元素中。
    • not选择器:只对某个结构元素使用样式,但该元素下面的子结构元素不使用该样式。
    • empty选择器:指定当元素中内容为空白时显示的样式。
    
        
    
    
        
    1 2 3
  • target选择器:在用户点击了超链接并转到target元素后,对页面中某个target元素指定样式。
  • 
        
    
    
        

    target选择器

    A B

    A标题

    内容

    B标题

    内容

    first-child:单独指定第一个子元素的样式。

    last-child:单独指定最后一个子元素的样式。

    nth-child:选择器匹配正数下来的第N个子元素,nth-child(odd)为第奇数个子元素,nth-child(even)为第偶数个子元素。

    nth-last-child(n):匹配倒数数下来第n个子元素。

    nth-of-type:正数,当指定元素为标题加内容的时候,如果使用上面的方法会导致真正的指定元素不被成功指定,因此需要使用nth-first-type方法进行指定。

    nth-last-type:倒数,同nth-first-type。

    循环使用样式:nth-child(An+B)–A 表示每次循环中共包括几种样式,B表示指定的样式在循环中所处的位置。

    only-child:只对一个元素起作用。

    
        
        结构性伪类选择器
        
    
    
        

    选择器first-child;last-child;nth-child;nth-last-child

    • No.1
    • No.2
    • No.3
    • No.4
    • No.5
    • No.6
    • No.7
    • No.8
    • No.9
    • No.10
    • No.11
    • No.12

    唯一的

    • 唯一,多加一个就没有啦

    A标题

    内容

    B标题

    内容

    3.UI元素状态伪类选择器
    指定的样式只有在元素处于某种状态下才起作用,在默认状态下不起作用!

    4.兄弟元素选择器
    用来指定位于同一父元素之中的某个元素之后的所有其他某个种类的兄弟元素所使用的样式。一定要是之后的兄弟元素!

    <子元素>~<子元素之后的同级兄弟元素>
        {
            样式
        }

    2.2.文字阴影与自动换行

    1.text-shadow
    p{
        text-shadow:length(阴影离开文字的横方向距离) length(阴影离开文字的纵方向距离) length(阴影模糊半径) color(阴影颜色)
    }

    位移距离:前两个参数代表的阴影离开文字的横(纵)方向距离,不可省略。

    第三个参数代表模糊半径,代表阴影向外模糊时候的范围,数值越大越模糊。

    当没有指定颜色值时,会使用默认文字的颜色。

    指定多个阴影,并且可以针对每个阴影用逗号分隔。

    2.word-break:浏览器文本自动换行。

    3.word-wrap: 长单词与URL地址自动换行。

    4.服务器端字体和@font-face属性

    定义斜体或粗体:在定义字体的时候,可以把字体定义成斜体或者粗体,在使用服务器服务器端字体的时候,需要根据斜体还是粗体使用不同的汉字。

    显示客户端字体:首先将font-family设置为本地的字体名,然后将src属性设置为local(‘字体’)。

    font-variant:设置文本是否大小写。

    font-weight:设置文本的粗细。

    font-stretch:设置文本是否横向的拉伸变形。

    2.3.盒模型

    1.各种盒模型

    inline-block类型

    使用inline-block类型来执行分列显示

    
        
    
    
        

    使用inline-block类型来执行分列显示-1.传统方式

    div1
    div2
    div3

    使用inline-block类型来执行分列显示-1.inline-block方式

    div1div1div1div1div1div1div1 div1div1div1div1div1div1div1div1 div1div1div1div1div1div1div1div1
    div2div2div2div2div2div2div2 div2div2div2div2div2div2div2div2
    div3
    使用inline-block类型来显示水平菜单
    
        
    
    
        

    使用inline-block类型来显示水平菜单-inline-block

    • A
    • B
    • C
    • D
    使用inline-block类型来显示水平菜单
    
        
    
    
        

    使用inline-block类型来显示水平菜单-inline-block

    • A
    • B
    • C
    • D
  • inline-table类型
  • 
        
    
    
        

    使用inline-table类型-一个表格前后都有文字将其环绕

    巴拉巴拉
    1 2
    1 2
    巴拉巴拉

    list-item类型

    可以将多个元素作为列表显示,同时在元素的开头加上列表的标记。

    run-in类型和compact类型

    none类型

    当元素被指定none后,该元素不会显示

    2.显示不下的内容

    overflow属性:指定对盒子中容纳不下的内容的显示办法

    overflow-x属性与overflow-y属性

    textoverflow:在盒子的末尾显示代表省略符号的‘…’,但是该属性只在内容在水平位置上超出时显示。

    3.盒子阴影

    box-shadow:让盒在显示的时候产生阴影的效果

    对盒内子元素设置阴影

    对一个文字或第一行设置阴影:通过first-line或者first-letter

    对表格和对单元格使用阴影

    4.box-sizing宽高计算

    指定针对元素的宽度和高度的计算方法

        (content)border-box:属性值表示元素的宽高度(不)包括内补白区域及边框的宽度高度
    
        
    
    
        

    box-sizing:content&border-box

    box-sizing:border-box代表宽度和高度包含内补白宽度高度,即虽然有padding和border,最终仍然为300px
    box-sizing:content-box:代表不包含宽高度内补白区域,即最后为300px+30px+30px

    2.4.边框和背景样式

    1.新增的背景属性

    background-clip:指定背景的显示范围

    border-box:从边框开始

    padding-box:从内边框开始

    content-box:从内容开始

    background-orgin:指定绘制背景图像的起点

    可以指定绘制时的起始位置,默认为padding,可以为border或者content左上角开始绘制。

    background-size:指定背景中图像的尺寸

    auto

    length

    percentage:以父元素的百分比设置背景图像的宽高度。

    cover:全覆盖。

    contain :与cover相反,主要将背景图片缩小,来适合布满整个容器。

    2.显示多个背景属性: 第一个图像在最上面

    3.圆角边框:border-radius

    指定两个半径:左上右下+左下右上

    当不显示边框的时候,浏览器会把四个角绘制成圆角

    修改边框种类。

    绘制四个不同半径的边框

    4.图像边框:border-image

    可以让元素的长度或宽度处于随时变化时,变化状态的边框统一使用一个图像文件来进行绘制。

    2.5.CSS3变形功能

    1.利用transform实现文字或图像的旋转,缩放,倾斜移动这四种类型的变形处理。

    旋转:totate(角度)

    缩放:scale(值):0.5即为缩放到50%

    倾斜:skew(值),值为角度

    移动:translate(值)

    对一个元素使用多个方法

    transform:方法1 方法2 方法 3 方法4

    改变元素基点

    transform-origin:

    2.6.CSS3的动功能

    1.transition功能:支持从一个属性值平滑到另外一个属性值

    允许CSS属性值在一定的时间内平滑的过度,这种效果可以在单击,获得焦点,被点击或对元素任何改变中触发,并圆滑的以动画效果改变CSS属性值。

    (1)执行变换的属性:transition-property:过渡即将开始

    none:没有属性会获得过渡效果

    all:所以属性会获得过渡效果

    property:定义应用过渡效果的CSS属性名称列表,以逗号分隔

    (2)变换延续时间:transition-duration:规定完成过渡需要花费的时间,默认值零没有效果。

    (3)在延续时间段,变换速率的变化:
    transition-timing-function。

    (4)变换延迟时间:transition-delay:指定一个动画开始执行的时间,也就是当改变元素属性值后多长时间开始执行过渡效果。

    
        
        CSS3中的动画效果
        
    
    
        

    transition

    2.Animations功能:支持通过关键帧的指定来在页面上产生更复杂的动画现象。

    • name:指定合集名称
    • duration:整个动画执行完成所需时间
    • timing-function:实现动画方法
    • iteration-count:重复播放次数
    
        
    
    
        

    animation

    2.7.CSS3的分页

    1.点击及鼠标悬停分页样式

    2.鼠标悬停过渡效果:transition: background-color .9s;

    3.圆角样式:border-radius

    4.边框:border:2px solid darkviolet;

    2.8.布局相关样式

    1.多栏布局

    column-count属性:将一个元素中的内容分成多栏进行显示,要将元素的宽度设置成多个栏目的总宽度

    column-width属性:指定栏目的宽度来生成分栏

    column-gap属性:指定栏目之间的距离

    column-rule:栏目之间添加分隔线

    2.盒布局: 多栏布局的栏目宽度必须相等,指定栏目的宽度的时候也只能统一指定,但是栏目的宽度不可能全部都一样,所以多栏布局比较适合在文字内容页面显示,比如新闻。并不适合整个网页编排时使用。而盒布局就相对比较随意一些,可以定义成不同的页面。

    3.弹性盒子布局

    (1)box-flex:使得盒子布局变成弹性布局:可以自适应窗口

    (2)box-ordinal-group:改变元素的显示顺序

    (3)box-orient:改变元素排列方向

    horizontal:在水平行中从左向右排列子元素

    vertical:从上向下垂直排列子元素

            



    (4)元素的高度宽度自适应:就是元素的高度和宽度可以根据排列的方向改变而改变。
    (5)使用弹性布局来消除空白:方法就是给子div中加入一个box-flex属性。

    (6)对多个元素使用box-flex属性,让浏览器或者容器中的元素的总宽度或者总高度都等于浏览器或者容器高度。

    (7)box-pack属性和box-align属性:指定水平方向与垂直方向的对齐方式(文字,图像,以及子元素的水平方向或是垂直方向上的对齐方式)

    2.9.不同浏览器加载不同的CSS样式

    Media Queries模块是CSS3中的一个和各种媒体相关的重要模块




    原文链接:
    https://blog.csdn.net/qq_27348951/article/details/53378364

    相关推荐

    DNF无色流派还在继续,重力之泉龙战八荒测评

    作者:礁石22222前言本篇为115级套装天天鉴栏目,来帮助各位读者对于新版本的装备有一个更清晰的认知。115级套装分为了稀有到太初5个品级,所有套装的稀有品级属性是一致的,从神器开始出现分歧。通过积...

    《暗黑破坏神2重制版》常用符文之语P3

    大家好我是游戏小白,继续补充一下《暗黑破坏神2重制版》常用的符文之语,主要给大家总结一下前期过渡常用符文之语。没看过之前关于符文之语总结的小伙伴可以翻翻前面的文章。1、钢铁符文之语钢铁造价极低但性价比...

    魔兽怀旧服:P1一款法系BIS披风,获取方式隐蔽,需完成875个任务

    在魔兽怀旧服WLK版本,依旧存在许多实用的制造业装备,特别是在P1阶段,制造业装备的耐用性和性价比是最高的,不仅可以帮助玩家快速过渡到团本,甚至还有个别制造业装备超越了团本掉落的强度,除了玩家近期讨论...

    分手类型——过渡阶段

    过度阶段一.内涵:类似于反复期,在这个阶段儿可能会出现两种可能性。1.感性想分手,但理性上舍不得。感性上我完全不想跟他相处,但理性上我又觉得他身上有很多对我有利的,对我未来有机会有利的东西。二.理性...

    《最后的信仰》新手开局保姆级指南职业选择、属性加点与开荒策略

    《最后的信仰》作为类魂动作游戏,开局选择直接影响开荒体验。本文针对新手玩家,从职业特性、属性分配到武器过渡,提炼高效开荒公式,助你避开陷阱,快速掌握战斗节奏。一、职业选择:斗士/盗贼优先,法系/...

    DNF回血秘方揭示,夏日前买必看篇

    作者:辽宁吴彦祖前言(省流速览)夏日礼包购买理由:夏日礼包是DNF四大礼包之一(新春&耕耘&夏日&金秋),错过销售日期后续想获得部分道具难度极大。主打暖暖时装、特色补齐、海量打...

    DNF手游:55级粉装有大作用!强化继承大法,可节省大量幸运符

    55级粉装的自身属性,实际上比较一般,但它可以用来作为“过渡胚子”,能够帮大家节省很多幸运符和宇宙精华!1、强化继承大法因为不断有玩家翻出了55级团本武器,这把武器肯定是当前版本毋庸置疑的版本答案,但...

    魔兽世界50级职业任务装备如何选择,手把手教学

    魔兽世界50级职业任务,我们装备应该如何选择,今天分身一个文章告诉你,我们知道BWL开放,也会开放50级的职业任务,那么50级的职业任务,对某些职业来说还是非常重要的,因为给的装备。有的甚至可以用到7...

    暗牧的T5与散件如何取舍?认准自己的团队地位才最重要

    牧师作为《魔兽世界》中的老牌职业历经许久已经收获了不少的信仰者,而在笔者看来牧师的最大特色便是风格完全不同的三系专精,在TBC时期,Raid本中的牧师大多为神牧,而戒律牧基本只活跃在竞技场和战场上,而...

    DNF:魂异界传说宝珠曝光!属性设计一般般,男枪第五转职专属

    魂异界地下城“炒冷饭”,定位新春活动副本,奖励道具覆盖面广,涉及白金徽章、转职书、矛盾材料等等。解锁魂异界次元等级,还能兑换传说宝珠,属性也逐渐浮出水面,却比较鸡肋,“抠门”发挥的淋漓尽致!太“抠门”...

    SwiftUI入门五:让视图和过渡动起来

    在使用SwiftUI的时候,无论效果在哪里,我们都可以单独的让视图的变化动起来,或者让视图的状态的变化动态化。SwiftUI会为我们处理那些组合的、层叠的以及可中断的动画的复杂性。在这个教程中,我们会...

    DNF:又是变强的一年?2024耕耘礼包提升率揭晓

    作者:assddde前言国服耕耘礼包的内容已经爆料了。对去年拉满耕耘的奶系职业的而言,今年的提升点为纹章加入了1%的增益量增幅。对C而言,今年换装称号中还加入了buff换装词条。而对于错过了新春套的C...

    魔兽世界:TBC第一阶段还有必要刷T4套吗,D3套能否过渡到T5套?

    T4套真的不如D3套?TBC怀旧服P1阶段目前已经走过大半,作为这个阶段装备等级最高的套装T4套装,游戏中有很大争议。比如猎人玩家会选择D3套,直接跳过T4到T5阶段,而法师甚至会选择继续使用T3套装...

    《异世界勇者》390版本开荒&amp;毕业攻略——狂暴战

    虽然说这个版本是防战的本命版本,但是从大家催更的频率来看,狂暴战依旧是碾压的优势,今天给大家分享一下390版本狂暴战的毕业游玩思路,希望对你有帮助。今天给大家带来的是手动速刷版的攻略,想要挂机过本需要...

    飞飞重逢:装备属性卡全攻略,五色神卡助你战力飙升快速获取

    在游戏中,装备属性卡是提升战斗力的关键道具,它能赋予装备特殊的元素属性,不仅大幅提升攻击力,还能针对不同怪物打出克制伤害。属性卡分为火、水、风、土、电五种元素,每种都能为装备附加独特的攻击特效。那么如...