zoukankan      html  css  js  c++  java
  • 摘《CSS设计指南》

    块级元素与行内元素

    • 块级标签
      <h1>-<h6> :6 级标签
      <p>:段落
      <ol>:有序列表
      <li>:列表项
      <blockquote>:独立引用
    • 行内标签
      <a>:链接(anchor,锚)
      <img>:图片
      <em>:斜体
      <strong>:重要
      <abbr>:简写
      <cite>:引证
      <q>:文本内引用

    选择符

    • 上下文选择符以空格分隔,而分组选择符则以逗号分隔

      • 上下文:p em {color:green;}
      • 分组:h1, h2, h3 {color:blue; font-weight:bold;}
    • 紧邻同胞选择符+ :必须紧临,否则无效。

    • 给元素添加多个类名使用空格
      <p class="specialtext featured">Here the span tag be styled.</p>
      这里的 specialtext 和 featured,放在同一对引号里,用空格分隔

    • 通过类选择器一次选取多个元素
      .specialtext.featured {font-size:120%;}
      此处选择符的两个类名之间没有空格。如果加了空格,就变成了“祖先/后代”关系的上下文选择符了。

    • ID 也可以用在页内导航链接中。下面就是一个链接,其目标是同一页的另一个位置。
      <a href="#bio">Biography</a>:点击此链接会链接到本页面中id为bio的元素
      <a href="#">Back to Top</a>:点击返回顶部
      如果你暂时不知道某个 href 应该放什么 URL,也可以用#作为占位符,但不能把该属性留空。因为href 属性值为空的链接的行为跟正常链接不一样
      仅作为超链接点击使用也可以这么写<a class="" href="javascript:;">所有商品</a>

    • 属性选择符

    <img src="images/red_flower.jpg" title="red flower" alt="red flower" />
    img[title] {border:2px solid blue;}//选取有属性为title的img元素
    img[title="red flower"] {border:4px solid green;}
    

    alt 属性中的文本会在图片未能加载时显示,或者由屏幕阅读器朗读出来。title 属性会在用户鼠标移动到图片上时,显示一个相应的文本提示。

    UI伪类

    • 链接伪类
    a:link {color:black;}  
    a:visited {color:gray;}
    a:hover {text-decoration:none;}
    a:active {color:red;}  
    

    顺序固定,不然可能出现问题。一个冒号(:)表示伪类,两个冒号(::)表示 CSS3 新增的伪元素
    :hover可用于任何元素

    • :focus表单中的文本字段在用户单击它时会获得焦点,然后用户才能在其中输入字符。
      input:focus {border:1px solid blue;}

    • :target
      如果用户点击一个指向页面中其他元素的链接,则那个元素就是目标(target),可以用:target伪类选中它。
      <h2 id="more_info">This is the information you are looking for.</h2>
      那么,#more_info:target {background:#eee;}会在用户单击链接转向 ID 为 more_info 的元素
      (<a href="#more_info">More Information</a>)时,为该元素添加浅灰色背景。

    结构化伪类:根据标签结构应用样式

    • :first-child:last-child
      ol.results li:first-child {color:blue;} 应用给以下标记:
    <ol class="results">
      <li>My Fast Pony</li>  
      <li>Steady Trotter</li>
      <li>Slow Ol' Nag</li>`  
      </ol> 
    

    文本“My Fast Pony”就会变成蓝色。如果选择符改成这样:
    ol.results li:last-child {color:red;} 那变成红色的文本就是“Slow Ol’ Nag”了。

    • :nth-child
      e:nth-child(n)
      e 表示元素名,n 表示一个数值(也可以使用 odd 或 even)。例如,li:nth-child(3) 会选择一组列表项中的每个第三项。:nth-child 伪类最常用于提高表格的可读性,对表格的所有行交替应用不同颜色

    伪元素

    搜索引擎不会取得伪元素的信息(因为它在标记中并不存在)。

    • p::first-letter {font-size:300%;}
      段落首字符放大的效果。

    • p::first-line {font-variant:small-caps;}
      可以把第一行以小型大写字母显示

    • 在特定元素前面或后面添加特殊内容。以下标记
      <p class="age">25</p>
      和如下样式

    p.age::before {content:"Age: ";} 
    p.age::after {content:" years.";} 
    

    注意,每个 content 属性值中都包含了空格,以便输出结果中有适当的空距。
    能得到以下结果:
    Age: 25 years.

    CSS 提供了三种机制:继承、层叠和特指。

    • CSS 中可以继承的属性:颜色、字体、字号。不能继承的属性:比如边框、外边距、内边距。
    • 层叠规则:设定的样式胜过继承的样式,此时不用考虑特指度。比如下面的标记
    <div id="cascade_demo">
     <p id="inheritance_fact">Inheritance is <em>weak</em> in the Cascade</p> 
    </div>
    

    和下面的规则
    div#cascade_demo p#inheritance_fact {color:blue;}
    2 - 0 - 2 (高特指度)
    会导致单词“weak”变成蓝色,因为它从父元素 p 那里继承了这个颜色值。
    但是,只要我们再给 em 添加一条规则
    em {color:red;}
    0 - 0 - 1 (低特指度)
    em 就会变成红色。因为,虽然它的特指度低(0-0-1),但 em 继承的颜色值,会被为它明
    确(显式)指定的颜色值覆盖,就算(隐式)遗传该颜色值的规则的特指度高(2-0-2)也
    没有用。

    • 特指度(I-C-E):id-class-element

    垂直方向上的外边距会叠加

    p {height:50px; border:1px solid #000; backgroundcolor:#fff; margin-top:50px; 
     margin-bottom:30px;} 
    

    由于第一段的下外边距与第二段的上外边距相邻,你自然会认为其他段落之间的外边距
    是 80 像素(50+30),但是实际的间距是 50 像素。像这样上下外边距
    相遇时,它们就会相互重叠,直至一个外边距碰到另一个元素的边框。水平边距和正常一样。

    box模型结论

    • 盒模型结论一:没有(就是没有设置 width 的)宽度的元素始终会扩展到填满其父
      元素的宽度为止。添加水平边框、内边距和外边距,会导致内容宽度减少,减少量
      等于水平边框、内边距和外边距的和。
    • 盒模型结论二:为设定了宽度的盒子添加边框、内边距和外边距,会导致盒子扩展
      得更宽
      。实际上,盒子的 width 属性设定的只是盒子内容区的宽度,而非盒子要占
      据的水平宽度。

    tips

    • 块级元素独立成行,因为其宽度为100%,无法容纳其他元素,行内元素左右排列,因为它会尽量‘包裹’其所含的元素.
      如果不设置块级元素的 width 属性,那么这个属性的默认值是 auto,结果会让元素的宽度扩展到与父元素同宽。
    • 前景色包含内容和边框(color:red),背景色包含背景颜色和背景图片
    • body {font-family:"trebuchet ms", tahoma, sans-serif;} 如果字体名像 Trebuchet MS 一样多于一个单词(有空格),应该加上引号。
    • h1 被设定为 2em,h2 是 1.5em,p 是 1em。默认情况下,1em 等于 16 像素,这也是 font-size 的基准大小。
    • 类的目的是为了标识一组具有相同特征的元素
    • 元素的背景层可以用实色填充(使用 background-color 属性),也可以包含任意多个背景图片(使用 background-image 属性),背景图片叠加在背景颜色之上。

    内容摘自CSS设计指南,书籍电子版在这里:CSS设计指南

  • 相关阅读:
    wqs二分
    FLAG区
    Codeforces | CF1033D 【Divisors】
    Nowcoder | [题解-N210]牛客OI月赛2-提高组
    Codeforces | CF1041F 【Ray in the tube】
    Nowcoder | [题解-N189]牛客OI赛制测试赛3
    Codeforces | CF1029F 【Multicolored Markers】
    Codeforces | CF1037D 【Valid BFS?】
    Codeforces | CF1028C 【Rectangles】
    Codeforces | CF1029C 【Maximal Intersection】
  • 原文地址:https://www.cnblogs.com/myzoneliver/p/8329030.html
Copyright © 2011-2022 走看看