• css学习笔记1


    CSS 基础语法

    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

    selector {declaration1; declaration2; ... declarationN }

    选择器通常是您需要改变样式的 HTML 元素。

    每条声明由一个属性和一个值组成。

    属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。如果不止一个声明,则要在声明之间加引号。

    h1 {color:red; font-size:14px;}

    值的不同写法和单位

    除了英文单词 red,我们还可以使用十六进制的颜色值 #ff0000:

    p { color: #ff0000; }

    使用css缩写形式为:

    p { color: #f00; }

    使用rgb值确定颜色:

    p{color:rgb(1,0,0);}
    p{color:rgb(100%,0%,0%);}

    注意:当rgb值为0时也不可省略百分号%。

    为了避免增减声明时产生错误,无论声明个数,最好都在声明后加一个分号;表示隔断而非结束。为增加代码可读性,一个声明占据一行。

    声明中是否包含空格不会影响 CSS 在浏览器的工作效果,同样,与 XHTML 不同,CSS 对大小写不敏感。不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。

    CSS高级语法

    对选择器分类,这样就可以对相同类的选择器进行统一声明。每个选择器之间用逗号隔开。如下是对标题进行声明:

    h1,h2,h3,h4,h5,h6{
    color:green;
    }

    继承

    根据 CSS,子元素从父元素继承属性。例如:

    body {
         font-family: Verdana, sans-serif;
         }

    那么body的子元素,如p、tr、th等,都将继承最高元素(本例中为body)的属性,即字体为Verdana。

    对于Netscape4这样,忽略继承的浏览器,我们需要再对子元素进行声明。而对于个别想要摆脱继承父元素属性的子元素,可单独对其进行声明。

    CSS派生选择器

    通过依据元素在其位置的上下文关系来定义样式,在 CSS1 中,通过这种方式来应用规则的选择器被称为上下文选择器 (contextual selectors),这是由于它们依赖于上下文关系来应用或者避免某项规则。在 CSS2 中,它们称为派生选择器,但是无论你如何称呼它们,它们的作用都是相同的。

    比如,将strong里的字体变成斜体:

    li strong{
        font-style: italic;
        font-weight: normal;
    }

    则:

    <p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p>
    
    <ol>
    <li><strong>我是斜体字。这是因为 strong 元素位于 li 元素内。</strong></li>
    <li>我是正常的字体。</li>
    </ol>

    仅有列表中的strong为斜体字,其他不变。

    又如下述css规则:

    strong {
         color: red;
         }
    
    h2 {
         color: red;
         }
    
    h2 strong {
         color: blue;
         }

    应用于html中表现为:

    <p>The strongly emphasized word in this paragraph is<strong>red</strong>.</p>
    <h2>This subhead is also red.</h2>
    <h2>The strongly emphasized word in this subhead is<strong>blue</strong>.</h2>

    CSS id选择器

    id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。id 选择器以 "#" 来定义。

    #red{color:red;}
    #green{color:green;}

    下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。

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

    注意:id 属性只能在每个 HTML 文档中出现一次。

    id选择器可用作派生选择器。

    CSS 类选择器

    在css中,类选择器以一个点显示:

    .center{text-align:center;}

    上例表示,所有拥有center类的元素均为居中:

    <h1 class="center">
    This heading will be center-aligned
    </h1>
    
    <p class="center">
    This paragraph will also be center-aligned.
    </p>

    注意:类名的第一个字符不能是数字,它无法在 Mozilla 或 Firefox 中起作用。

    类选择器也可用作派生选择器:

    .fancy td {
        color: #f60;
        background: #666;
        }

    类名为 fancy 的更大的元素内部的表格单元都会以灰色背景显示橙色文字。(名为 fancy 的更大的元素可能是一个表格或者一个 div)。

    元素也可以基于他们的类而被选择:

    td.fancy{
    color=#f60;
    background: #666;
    }

    在上面的例子中,类名为 fancy 的表格单元将是带有灰色背景的橙色。

    你可以将类 fancy 分配给任何一个表格元素任意多的次数。那些以 fancy 标注的单元格都会是带有灰色背景的橙色。那些没有被分配名为 fancy 的类的单元格不会受这条规则的影响。还有一点值得注意,class 为 fancy 的段落也不会是带有灰色背景的橙色,当然,任何其他被标注为 fancy 的元素也不会受这条规则的影响。这都是由于我们书写这条规则的方式,这个效果被限制于被标注为 fancy 的表格单元(即使用 td 元素来选择 fancy 类)。

    CSS 属性选择器

    下面的例子为带有 title 属性的所有元素设置样式:

    [title]
    {
    color:red;
    }

    带有title属性的元素将被设置为红色:

    <h2 title="Hello world">Hello world</h2>
    <a title="W3School" href="http://w3school.com.cn">W3School</a>

    显示结果为:

    对title=“W3School”的所有元素设置样式:

    [title=W3School]
    {
    border:5px solid blue;
    }

    则只能对title=“W3School”元素产生影响,而对title=“***”,***为不是W3School的其他内容没有影响:

    <img title="W3School" src="/i/w3school_logo_white.gif" />

    效果如下:

    下面的例子为包含指定值的 title 属性的所有元素设置样式。适用于由空格分隔的属性值:

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

    则可用情况为:

    <h2 title="hello world">Hello world</h2>
    <p title="student hello">Hello W3School students!</h1>

    不可用情况为:

    <h2 title="world">Hello world</h2>
    <p title="student">Hello W3School students!</p>

    该效果的另一种定义方式是:[title | =hello],使用方式同上。

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

    input[type="text"]
    {
      150px;
      display:block;
      margin-bottom:10px;
      background-color:yellow;
      font-family: Verdana, Arial;
    }
    
    input[type="button"]
    {
      120px;
      margin-left:35px;
      display:block;
      font-family: Verdana, Arial;
    }
    <form name="input" action="" method="get">
    <input type="text" name="Name" value="Bill" size="20">
    <input type="text" name="Name" value="Gates" size="20">
    <input type="button" value="Example Button">

    CSS 选择器参考手册

    选择器描述
    [attribute] 用于选取带有指定属性的元素。
    [attribute=value] 用于选取带有指定属性和值的元素。
    [attribute~=value] 用于选取属性值中包含指定词汇的元素。
    [attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
    [attribute^=value] 匹配属性值以指定值开头的每个元素。
    [attribute$=value] 匹配属性值以指定值结尾的每个元素。
    [attribute*=value] 匹配属性值中包含指定值的每个元素。
  • 相关阅读:
    相机标定之四个坐标系及其关系
    VR、AR和MR的区别?
    Django 中使用流响应处理视频的方法
    mysql_num_fielfs_php mysql_num_rows和mysql_num_fields获取结果集总行数和总列数
    mysql中文乱码
    redisson分布式锁:Redis分布式锁报错,Redisson出错:Unable to send command!
    SpringBoot整合redis, RedisTemplate默认使用Lettuce客户端超时问题
    spring security登录后访问接口403 forbidden的坑
    redis锁,redis分布式锁: RedisLock
    微信urlscheme.generate:h5跳转到小程序(支持微信内h5,浏览器)
  • 原文地址:https://www.cnblogs.com/cff2121/p/9277566.html
Copyright © 2020-2023  润新知