zoukankan      html  css  js  c++  java
  • css概述

    1.什么是css

    css:cascading style sheets

    层叠样式表,级联样式表,简称为样式表

    2.css作用

    设置html网页中元素的样式

    3.HTML与css的关系

    html:负责网页的搭建,内容的展示(素颜)

    css:负责网页的修饰。(亚洲四大邪术)

    对于元素样式的修饰,W3C建议使用css而不用html的属性

    html的属性,代码不能重用,没有可维护性

    二.CSS的语法规范

    1.使用css的方式

    ①行内样式(内联样式)

    将css的样式写在元素的style属性中

    color:red;   字体颜色

    background-color:yellow;背景颜色

    font-size:32px;     字号大小

    语法

    <any style="样式声明"></any>

    样式声明  由样式属性和样式值组成

              样式属性:值;

    内联样式不能重用

    内联样式优先级最高

    在项目中,基本不用,只有在学习和测试中使用

    ②内部样式

    在head标签中,使用<style>定义内部样式

    语法:

    <head>

     <style>

       选择器{样式声明;样式声明;}

       选择器{样式声明}

     </style>

    </head>

    选择器就是页面能够使用当前样式的条件

    div{}  p{}  img{}  span{}

    总结:内部样式,只能在本页面重用

    内部样式在项目中用的少,主要用于学习和测试

    ③外部样式

    单独创建一个.css文件,在html文件中的head标签里

    使用link标签引入这个css文件

    <link rel="stylesheet" href="my.css">

    其中rel属性必须写,不写就不生效

    项目中大批量的使用外部样式,但是,学习中用的少

    2.css样式的特性

    ①继承性

    大部分的css效果是可以直接被子元素继承的

    必须是有层级嵌套关系的元素,才能继承。孩子继承父亲。

    a标签的字体颜色,是不继承的

    ②层叠性

    可以为一个元素定义多个样式

    如果样式属性不冲突的时候,可以同时作用到这个元素上

    ③优先级

    当样式属性冲突时,根据优先级去应用样式。

    默认优先级,有高到低

    1.内联样式

    2.内部样式和外部样式,使用就近原则

    3.浏览器默认样式

    解释型语言---代码逐行从上往下运行,后执行会覆盖之前执行的

    ④调整优先级

    !important 规则

    h2{color:red !important;}

    写在值和;之间,前面要有空格

    意义,我这个值是最重要的,其它的值不要覆盖我

    如果有多个!important;,那么还是遵循就近原则

    三.基础选择器(重点*****)

    1.选择器的作用

    规范了页面中哪些元素能够使用定义好的样式

    选择器就是一个条件,符合这个条件的元素,可以应用这个样式

    2.选择器详解

    ①通用选择器

    *{样式声明}

    *{margin:0;padding:0} 所有元素内外边距清0

    如果取值为0,可以省略单位

    ②元素选择器,标签选择器

    div{color:red;}

    页面中所有对应元素,都应用这个样式

    设置页面中某种元素的默认样式

    ex:p{}   img{}   span{}

    特殊用法:body{margin:0;padding:0;}

              body以及body内的元素,都会内外边距清0

    ③id选择器,专属定制

    只对当前页面,一个元素生效

    <any id="id值"></any>

    #id值{}

    总结:一般id选择器在项目中很少单独使用,通常会作为子代选择器和后代选择器一部分。

    ④类选择器

    定义页面上某个或者某类元素的样式

    是一个公共样式,谁想使用,就用class调用一下

    声明类选择器

    .类名{样式声明}

    类名的特点

    1.必须有点

    2.类名不能以数字开头

    3.只能使用- _两种符号

    引用类名

    <any class="类名"> 引用时,没有点

    特殊用法

    1.多类选择器

    一个元素引用多个类选择器

    <any class="类名1 类名2 类名3 .....">

    2.分类选择器

    更精准的确定使用这个样式元素

    增加了选择器的权值???坑

    ①.类名1.类名2{}

    匹配同时引用类名1,和类名2的元素

    <div class="font36 text-danger">Lorem</div>

    .font36.text-danger{

      font-style:italic;

    }

    ②元素名.类名{}

    h4.font36{}

    <h4 class="font36">Lorem  amet.</h4>

    匹配引用了font36这个类的h4元素

    5.群组选择器

    将多个选择器放在一起,定义公共样式(选择器之间使用,连接)

    选择器1,选择器2,选择器3........{样式声明}

    6.后代选择器

    通过元素的后代关系匹配元素

    后代关系:一级嵌套或者多级嵌套

    语法: 选择器1 选择器2 选择器3....{样式声明}

    7.子代选择器

    子代关系:就是一级嵌套关系

    语法:选择器1>选择器2>....{样式声明}

    子代选择器和后代选择器可以混写

    div>p span{background-color:purple;} 

    8.伪类选择器

    匹配元素不同状态的选择器

    伪类选择器,都是以:开头

    1.匹配未访问的链接

      选择器:link{样式声明}

    2.匹配访问后的链接

      选择器:visited{样式声明}

    3.鼠标悬停

      选择器:hover{样式声明}

    4.元素激活状态,鼠标按住元素不抬起

     选择器:active{样式声明}

    以上4个伪类同时作用在一个元素上时,需要有严格编写顺序

    爱恨原则  love  &  hate  :link :visited :hover :active

    :focus 匹配获取焦点元素状态

    ⑨选择器的权值问题

    选择器默认自带权值,权值越高,优先级越高

    !important     >1000

    内联样式       =1000

    id选择器       =100

    class和伪类     =10

    元素选择器      =1

    *通用选择器     =0

    继承的样式       无权值

    权值的总结

    1.当一个选择器中含有多个选择器时,需要将所有的选择器权值进行相加,然后比较,权值大的优先显示

    2.权值相同,就近原则

    3.群组选择的权值,单独计算,不能相加

    4.样式后面添加!important,直接获取最高优先级

      内联样式不能添加!important

    5.选择器权值的计算,不会超过自己的最大数量级

    100个元素(1)选择器相加,不会大于10

  • 相关阅读:
    实战 | 使用maven 轻松重构项目
    分布式架构高可用与高并发那些在工作中常用到的那些变态应用
    操作系统的那些灵魂概念,你弄懂了几个?
    应该没人比我更细了吧:带你深入剖析Redis分布式锁!
    我把 Spring Cloud 给拆了!带你详细了解各组件原理!
    深入浅出MySQL灵魂十连问,你真的有把握吗?
    领统Java并发半壁江山的AQS你真的懂了吗?
    不会数据结构?24张图让你彻底弄懂它,还不会你来打我!
    你了解Spring事务传播行为吗?多个方法之间调用事务如何传播?
    深入学习:三分钟快速教会你编写线程安全代码!
  • 原文地址:https://www.cnblogs.com/sna-ling/p/12811077.html
Copyright © 2011-2022 走看看