zoukankan      html  css  js  c++  java
  • CSS @规则

    最近在看极客时间winter大神的重学前端系列,遇到了许多不常用但是很重要的知识点.感觉视野得到了极大的开阔(打个广告,哈哈).

    其中css @规则令人印象深刻。简单的做下笔记:

    @namespace

    这个css规则还是蛮重要的,MDN有相关介绍--https://developer.mozilla.org/en-US/docs/Web/CSS/@namespace

    @namespace url(http://www.w3.org/1999/xhtml);
    @namespace svg url(http://www.w3.org/2000/svg);
    
    /* 匹配所有的XHTML <a> 元素, 因为 XHTML 是默认无前缀命名空间 */
    a {}
    
    /* 匹配所有的 SVG <a> 元素 */
    svg|a {}
    
    /* 匹配 XHTML 和 SVG <a> 元素 */
    *|a {}

      

    说的简单点就是:为了分别给不同命名空间下的相同元素可以分别设置样式.

    @media

    想必是好多响应式设计都是借助于这一规则。

    它可以针对不同媒体使用响应式,因为我么多说媒体是手机、pad、computer.

    它还有以下媒体类型

    链接地址为如下:

    https://www.runoob.com/cssref/css3-pr-mediaquery.html

     

    @ support

    检测是否支持指定的CSS属性.

    例如:

      @supports (display:flex) {
    
        section { display: flex }
        ...
        }

    如果浏览器支持“display:flex”属性,那么在“section”元素上就运用“display:flex”样式.

    @charset

    @charset 用于提示 CSS 文件使用的字符编码方式,它如果被使用,必须出现在最前面。这个规则只在给出语法解析阶段前使用,并不影响页面上的展示效果。

    @import 

    @import 用于引入一个 CSS 文件,除了 @charset 规则不会被引入,@import 可以引入另一个文件的全部内容。

    @import "mystyle.css";
    @import url("mystyle.css")

    通常此指令放在css文件其实位置;

    @ counter-style

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=<device-width>, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style type="text/css">
     @counter-style circled-alpha {
      system: fixed;
      symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ;
      suffix: " ";
    }
    ul {
       list-style: circled-alpha;
    }
        </style>
    </head>
    <body>
        <ul class="list">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
            <li>9</li>
            <li>10</li>
    
        </ul>
    </body>
    </html>

    代码效果如下:

    测了下谷歌、IE、360、火狐浏览器,只有火狐支持此规则。

    @ key-frames

    keyframes 产生一种数据,用于定义动画关键帧。

    @ fontface

    fontface 用于定义一种字体,icon font 技术就是利用这个特性来实现的。

    @font-face {
      font-family: Gentium;
      src: url(http://example.com/fonts/Gentium.woff);
    }
    
    p { font-family: Gentium, serif; }

     

  • 相关阅读:
    Flutter采坑之路 Run Configuration error:broken configuration due to unavailable
    Android24以上拍照代码
    android Studio 出现:Unable to resolve dependency for ':app@debug/compileClasspath'
    Android Studio 使用本地gradle配置详解
    windows server2008 IIS搭建网站简易教程(阿里云)
    FileProvider 添加二级目录
    Android中如何解决editText一进入activity就自动获取焦点的bug
    关于AndroidStudio 经常弹出TortoiseSVN 同步的解决办法
    Awesome-VR
    Magento2 常见错误 ----- 定期更新
  • 原文地址:https://www.cnblogs.com/cby-love/p/11108806.html
Copyright © 2011-2022 走看看