Blame view

node_modules/videojs-font/templates/scss.hbs 1.72 KB
2a09d1a4   liuqimichale   添加宜春 天水 宣化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  // https://github.com/sass/sass/issues/659#issuecomment-64819075
  @function char($character-code) {
    @if function-exists("selector-append") {
      @return unquote("\"\\#{$character-code}\"");
    }
  
    @return str-slice("\x", 1, 1) + $character-code;
  }
  
  $icon-font-family: {{fontName}};
  $icon-font-path: '../fonts' !default;
  
  @font-face {
    font-family: $icon-font-family;
    src: url('#{$icon-font-path}/{{fontName}}.eot?#iefix') format('eot');
  }
  @font-face {
    font-family: $icon-font-family;
    src: url(data:application/font-woff;charset=utf-8;base64,BASE64_WOFF_FONT) format('woff'),
         url(data:application/x-font-ttf;charset=utf-8;base64,BASE64_TTF_FONT) format('truetype');
    font-weight: normal;
    font-style: normal;
  }
  
  // http://sass-lang.com/documentation/file.SASS_REFERENCE.html#maps
  $icons: (
    {{#each codepoints}}
            {{@key}}: '{{this}}',
    {{/each}}
  );
  
  // NOTE: This is as complex as we want to get with SCSS functionality.
  //
  // Now that we have a map of icons above, we can iterate over that map and create an icon class
  // for each icon in that list. The iterator below produces CSS classes like this:
  //
  // .vjs-icon-play {
  //   font-family: VideoJS;
  //   font-weight: normal;
  //   font-style: normal;
  // }
  // .vjs-icon-play:before { content: "\25b6"; }
  //
  // We can then use @extend in the codebase when we need to add an icon to a class. @extend builds up
  // the selectors for you so you can avoid duplication. This is generally a bad idea, but since each
  // icon should only be extended one or two other places, we'll roll with it.
  @each $name, $content in $icons {
    .vjs-icon-#{$name} {
      font-family: $icon-font-family;
      font-weight: normal;
      font-style: normal;
  
      &:before {
        content: char($content);
      }
    }
  }