CSS基础学习笔记

仅仅是自己对着W3CSchool整理的一些 CSS 基础知识点,敲一遍加深下印象也方便以后复习。


    • CSS概述
      • CSS指层叠样式表(Cascading Style Sheets
      • 样式定义如何显示HTML元素
      • 样式通常存储在样式表中
      • 把样式添加到HTML4.0中,是为了解决内容与表现分离的问题
      • 外部样式表可以极大提高工作效率
      • 外部样式表通常存储在CSS文件中
      • 多个样式定义可以层叠为一
      • 层叠次序
        • 一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中(优先级从低到高)
          • 浏览器缺省设置
          • 外部样式表
          • 内部样式表(在<head>标签内)
          • 内联样式(HTML元素内部)
        • 个人理解:距被控制的元素越近,优先级越高
    • CSS基础语法
      • CSS规则由两个主要部分构成:选择器声明(可以同时多条,用分号隔开)
        • 格式:selector {declaration;declaration2;…declarationN}
      • 选择器:即需要改变样式的HTML元素
      • 声明:属性
        • 属性和值被冒号分开
        • 格式:property:value
      • CSS规则格式为 selector(property:value;porperty2:value;…}
        • 例如:h1{color:red;font-size:14px}
      • 值的不同写法和单位
        • 颜色:
          • 颜色名(如 color:red;
          • 十六进制颜色值(如 color:#ff0000;
          •  缩写(如color:#f00)目的:节约字节
          • RGB(如 color:rgb(255,0,0); color:rgb(100%,0%,0%);
          • 其他情况使用0时不需要单位,例如0即为0px
        • 值为单词:
          • 需要给值加引号
          • 例如:p{font-family:"sans serif"}
        • 代码风格
          • 在每条声明末尾都加上分号
          • 每行只描述一个属性
        • 空格和大小写
          • 空格不影响CSS
          • 大小写不影响CSS
          • 例外:与HTML一起工作时,class id名称对大小写敏感
    • CSS高级语法
      • 选择器的分组
        • 例如:h1,h2,h3,h4,h5,h6{color:green;}
      • 继承及其问题
        • 根据CSS,子元素从父元素继承属性
        • 例外:Netscape4IE6不仅忽略继承,也忽略应用于body的规则
          • 对策:使用组选择器进行冗余声明
        • 摆脱继承:在子元素中重新声明相同的属性
    • CSS派生选择器
      • CSS1中称为上下文选择器
      • 根据文档中的上下文关系来确定某个标签的样式
      • 例如:使列表中所有的strong元素变为斜体字

    li strong {

    font-style: italic;

    font-weight: normal;

    }

     

    <p><strong>我是粗体字,但不在列表中,故不会变成斜体</strong></p>

    <ol>

    <li><strong>我是粗体字,因为在li中,所以会变成斜体</strong></p>

    <li>虽然在li中,但我不是粗体字,所以也不会变成斜体</li>

    </ol>

    • 个人理解:相当于逻辑与关系
    • CSSid选择器
      • id选择器以"#"来定义
        • 例如:(结合下方代码共同作用)

    #red {color: red}

    #green {color: green}

    • id选择器可以为标有特定 id HTML元素指定特定的样式
      • 例如:(结合上方代码共同作用)

    <p id="red">这个段落是红色。</p>

    <p id="green">这个段落是绿色。</p>

    • 注意:id属性只能在每个 HTML 文档中出现一次!
    • id选择器和派生选择器
      • 在现代布局中,id选择器常常用于建立派生选择器
        • 例如:应用于出现在 id sidebar的元素内的段落

    #sidebar p {

    font-style: italic;

    text-align: right;

    margin-top: 0.5em;

    }

    • 即使被标注为 sidebar的元素只能在文档中出现一次,这个 id选择器作为派生选择器可以多次使用
      • 例如:

    #sidebar p {

    font-style: italic;

    }

    #sidebar h2{

    font-style: bold;

    }

    • 单独的选择器
      • id选择器即使不被用来创建派生选择器,它也可以独立发挥作用
        • 例如:

    #sidebar {

    border: 1px dotted #000;

    padding: 10px;

    }

    • 例外:老版本的IE会忽略这条规则,除非特别定义这个规则所属的元素:

    div#sidebar {

    border: 1px dotted #00;

    padding: 10px;

    }

    • CSS类选择器
      • CSS中,类选择器以一个点号显示
        • 例如:所有拥有 center类的 HTML元素均为居中

     .center{text-align: center}

    <h1 class="center">

    我将被居中。

    </h1>

    <p class="center">

    我也将被居中。

    </p>

    • 注意:类名的第一个字符不能使用数字!它无法在 Mozila Firefox中起作用。
    • id一样,class也可被用作派生选择器
      • 例如:

    .fancy td {

    color: #f60;

    background: #666;

    }

    <td class="fancy">

    • CSS属性选择器
      • 对带有指定属性的 HTML元素设置样式
      • 注意:只有在规定了 !DOCTYPE时,IE7 IE8才支持属性选择器,在 IE6及更低版本中不支持!
      •  属性选择器
        • 例如:为带有 title属性的所有元素设置样式

    [title]

    {

    color: red;

    }

    • 属性和值选择器
      • 例如:为title="W3School"的所有元素设置样式:

    [title=W3School]

    {

    border:5px solid blue;

    }

    • 属性和值选择器-多个值
      • 例如:为包含指定值的 title属性的所有元素设置样式(适用于由空格分隔的属性值)

    [title~=hello] {color: red;}

    • 例如:为带有包含指定值的 lang属性的所有元素设置样式(适用于由连字符分隔的属性值)

    [lang|=en]{color: red;}

    • 设置表单的样式
      • 属性选择器在为不带有 class id的表单设置样式时特别有用:
      • 例如:

    input[type="text"]

    {

    width: 150px;

    display: block;

    margin-bottom: 10px;

    background-color: yellow;

    font-family: Verdana, Arial;

    }

    • 参考手册(个人理解:类似正则表达式?貌似使用正则速度会变慢)

    选择器

    描述

    [attribute]

    用于选取带有指定属性的元素

    [attribute=value]

    用于选择带有指定属性和值的元素

    [attribute~=value]

    用于选取属性值中包含指定词汇的元素

    [attribute|=value]

    用于选取带有以指定值开头的属性值的元素,该值必须是整个单词

    [attribute^=value]

    匹配属性值以指定值开头的每个元素

    [attribute$=value]

    匹配属性值以指定值结尾的每个元素

    [attribute*=value]

    匹配属性值中包含指定值的每个元素

    • CSS创建
    • 插入 CSS样式表的方法有三种
      • 外部样式表
        • 当样式需要应用于很多页面时
        • 该表一个文件来改变整个站点的外观
        • 每个页面使用<link>标签链接到样式表,<link>标签在 head

    例如:浏览器会从 mystyle.css中读到样式声明,并根据它来格式文档

    <head>

    <link rel="stylesheet" type="text/css" href="mystyle.css">

    </head>

    • 外部样式表不能包含 html标签,应该以 .css拓展名进行保存

    例如:

    hr {color: sienma;}

    p {margin-left: 20px}

    body {background-image: url("images/back40.gif")}

    注意:不要再属性值和单位之间留空格!(20px而不是 20 px)!

    • 内部样式表
      • 当单个文档需要特殊的样式时
      • 使用<style>标签在 head 中定义内部样式表
      • 例如:

    <head>

    <style type="text/css">

    hr {color: sienna;}

    p {margin-left: 20px;}

    body {background-image: url("images/back40.fig");}

    </style>

    </head>

    • 内联样式
      • 当样式仅需要在一个元素上应用一次
      • 慎用:会使得表现和内容混杂在一起
      • 例如:

    <p style="color: sinema; margin-left: 20px">

    This is a pragraph

    </p>

    • 多重样式
      • 某些属性在不同的样式表中被同样的选择器定义,属性值将从更具体的样式表中继承
      • 例如:

    外部样式:

    h3{

    color: red;

    text-align: left;

    font-size: 8pt;

    }

    内部样式:

    h3{

    text-align: right;

    font-size: 20pt;

    }

    个人理解:根据各个样式表优先级形成新的虚拟样式表

    {

    color: red;

    text-align: right;

    font-size: 20pt;

    }

     

     

     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值