点击查看html编辑器说明文档

新的 CSS Logo - 第4版edit icon

|
|
Fork(复制)
|
|
作者:
穿越者X57

👉 新版编辑器已上线,点击进行体验吧!

BUG反馈
嵌入
设置
下载
HTML
格式化
支持Emmet,输入 p 后按 Tab键试试吧!
<head> ...
展开
</head>
<body>
            
            <section>
    <header>
      <h2>选项 #1: Rebeccapurple</h2>
      <p>这个颜色对CSS来说有着<a href="https://meyerweb.com/eric/thoughts/2014/06/19/rebeccapurple/">重要的历史意义</a>,在CSS中可以直接使用关键字 <code>rebeccapurple</code>,并且与亮色字母形成良好的对比度。</p>
    </header>
    <div>
      <web-logo>
        <div class="box css purple">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
    </div>
    <div class="sm">
      <web-logo>
        <div class="box css purple">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo> 
        <div class="box css light">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
    </div>
  </section>
  
  <section>
    <h2>搭配其他语言</h2>
    <div>
      <web-logo>
        <div class="box css purple">
          <p>CSS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box js">
          <p>JS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box ts">
          <p>TS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box wa">
          <p>WA</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box html">
          <p>HTML</p> 
        </div>
      </web-logo>
    </div> 
  </section>
  
  <hr>
  
  <section>
    <header>
      <h2>选项 #2: 蓝色</h2>
      <p>CSS原始标志、W3C标志和CSS3盾牌都使用了蓝色或其色调/阴影。这是一个可识别的、传统的颜色,并具有良好的对比度。</p>
      <p>然而,有多种蓝色可供选择。规范标准链接蓝、W3C标志中的蓝色,以及CSS3盾牌中的蓝色(盾牌中的浅蓝色对比度不够)。</p> 
      <br>
      <label>
        选择蓝色: 
        <select id="blues">
          <option value="#005a9c">W3C蓝</option>
          <option value="#0000EE">链接蓝</option>
          <option value="#0339f8">CSS3盾牌蓝</option>
          <option value="blue">标准蓝</option>
        </select>
      </label>
    </header>
    <div>
      <web-logo>
        <div class="box css blue">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
    </div>
    <div class="sm">
      <web-logo>
        <div class="box css blue">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo> 
        <div class="box css light">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css light outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
      <web-logo>
        <div class="box css dark outlined">
          <p>CSS</p>
        </div>  
      </web-logo>
    </div>
  </section>
  
  <section>
    <h2>搭配其他语言</h2>
    <div>
      <web-logo>
        <div class="box css blue">
          <p>CSS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box js">
          <p>JS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box ts">
          <p>TS</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box wa">
          <p>WA</p> 
        </div>
      </web-logo>
      <web-logo>
        <div class="box html">
          <p>HTML</p> 
        </div>
      </web-logo>
    </div> 
  </section>
  
  <hr>
  
  <article>
    <web-logo>
      <div class="box css purple">
        <p>CSS</p>
      </div>  
    </web-logo>
    <web-logo>
      <div class="box css blue">
        <p>CSS</p>
      </div>  
    </web-logo>
  </article>
        
</body>
CSS
格式化
            
            
/*  
    注意事项:
    - light/pink 使用 text-stroke 以匹配深色 logo 的粗体效果
    - 深色 logo 不需要描边,因为它本身在视觉上已经足够粗
    - div 是嵌套的以便能适应容器
    - p 是嵌套的以便 <sup> 可以与语言共享盒子内边距
*/

web-logo {
    container-type: inline-size;
    overflow: hidden;

    /* 仅用于测试 */
    /*   resize: inline; */

    aspect-ratio: 1;

    .box {
        --_text: #2b2729;
        --_surface: gray;

        font-variation-settings: "wdth" 75, "slnt" 0, "wght" 900;

        color: var(--_text);
        background: var(--_surface);

        aspect-ratio: 1;
        height: 100%;
        /* for safari */
        padding: 7.5cqi;
        font-size: 35cqi;

        display: grid;
        place-items: end;

        &.css {
            border-radius: 0 15cqi 15cqi;
            --_text: white;

            &.blue {
                --_surface: #0339f8;
                /* shield blue */
                --_surface: #0000EE;
                /* spec link blue */
                --_surface: blue;
                /* keyword blue */
                --_surface: #005a9c;
                /* w3c blue */
                /*         --_surface: LinkText; */
                /*         --_surface: color(display-p3 0% 0% 100%); */
            }

            &.purple {
                --_surface: rebeccapurple;
                /*         --_surface: oklch(67% 0.5 292); */
            }

            &.light {
                --_surface: white;
                --_text: black;

                &.outlined {
                    box-shadow: inset 0 0 0 2cqw black;
                }
            }

            &.dark {
                --_surface: black;
                --_text: white;

                &.outlined {
                    box-shadow: inset 0 0 0 2cqw white;
                }
            }
        }

        &.ts {
            --_surface: #5286C6;
            --_text: white;
        }

        &.js {
            --_surface: #EFDE72;
        }

        &.wa {
            --_surface: #5F51DF;
            --_text: white;
            font-size: 55cqi;
            mask: radial-gradient(circle at center top, #0000, 20%, #000 0);
            letter-spacing: -0.125em;
            padding-inline-end: calc(7.5cqi + 0.125em);
        }

        &.html {
            --_surface: #dc6e3c;
            --_text: white;
            font-size: 40cqi;
        }

        >* {
            grid-area: 1/1;
            line-height: 1;
        }

        &:is(.js, .ts, .wa)>p {
            margin-block-end: -.5ex;
            margin-inline-end: 0;
        }

        >p {
            /* 此行代码需要 Canary 或启用了该功能标志的 Safari TP */
            /*       text-box: trim-both cap alphabetic; */

            /* 不支持 text-box: trim-both cap alphabetic 时的备用方案 */
            /*       @supports not (text-box: trim-both cap alphabetic) {
    margin-block-end: -.5ex;
  } */
        }
    }
}



@layer support {
    * {
        box-sizing: border-box;
        margin: 0;
    }

    html {
        block-size: 100%;
        color-scheme: dark light;

        background-color: light-dark(#fff, #111);
        background-image:
            radial-gradient(circle at center, #0000, light-dark(#fff, #111)),
            radial-gradient(circle at 1px 1px,
                light-dark(#0007, #fff4) 1px,
                #0000 0);
        background-size: 200px 200px, 40px 40px;
        background-repeat: round, space;
    }

    body {
        min-block-size: 100%;
        font-family: system-ui, sans-serif;

        display: grid;
        place-content: center;
        gap: 10vmin;
        padding-block: 10vmin;
    }

    section {
        display: grid;
        gap: 1rem;

        >header {
            display: grid;
            gap: .5ch;
            margin-block-end: 3rem;
        }

        >div {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: 15vw;
            gap: 1rem;

            &.sm {
                grid-auto-columns: 24px;
            }

            @media (width < 480px) or (orientation: portrait) {
                grid-auto-flow: row;
                grid-auto-columns: 50vw;
            }
        }
    }

    p {
        max-inline-size: 50ch;
        text-wrap: pretty;
    }

    article {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5vmin;
    }
}
        
JS
格式化
            
            let blueVariants = document.querySelectorAll('.blue')

blues.oninput = event => {
  blueVariants.forEach(variant => {
    variant.style.setProperty('--_surface', event.target.value)
  })
}
        
预览
控制台