代码之家  ›  专栏  ›  技术社区  ›  PrismaPixel Studios

如何在{内容:

  •  4
  • PrismaPixel Studios  · 技术社区  · 8 年前

    我正在尝试创建一个元素[ 碳化硅 ]在错误引用的单词之后。

    使用SCSS,以下是我目前所掌握的:

    span {
        &.sic {
            &:after {
                content: "[""]"
            }
        }
    }
    

    我只是不知道如何保持括号的原样,并在括号之间加上斜体字“sic”。

    3 回复  |  直到 8 年前
        1
  •  3
  •   DarkAjax    8 年前

    如果你真的想用普通括号和 sic 斜体是定义 content 使用括号和斜体字符,如 𝘴𝘪𝘤 ,例如:

    span {
      &.sic {
        &:after {
            content: "[𝘴𝘪𝘤]";
        }
      }
    }
    

    但我认为使用unicode字符会更好,比如:

    content: "\005B\1D460\1D456\1D450\005D";
    

    span:after {
        content: "\005B\1D460\1D456\1D450\005D";
    }
    <span>some text</span>

    否则,您必须使用所有斜体字:

    &:after {
        content: "[sic]";
        font-style: italic;
    }
    

    或无斜体:

    &:after {
        content: "[sic]";
    }
    
        2
  •  2
  •   Temani Afif    8 年前

    可以使用边框和渐变创建括号,并且可以仅将文本设置为斜体或更改任何其他属性,而不影响括号:

    p:after {
      content:"Sic";
      font-style:italic;
      color:red;
      display:inline-block;
      margin:0 5px;
      padding:0 2px;
      border-right:1px solid #000;
      border-left:1px solid #000;
      background-image:
      linear-gradient(#000 0,#000 1px,transparent 1px),
      linear-gradient(#000 0,#000 1px,transparent 1px),
      linear-gradient(to top,#000 0,#000 1px,transparent 1px),
      linear-gradient(to top,#000 0,#000 1px,transparent 1px)  ;
      background-position:0 0, 100% 0;
      background-size:3px 100%;
      background-repeat:no-repeat;
    }
    <p>Lorem ipsum</p>

    使现代化

    另一个版本具有更少的梯度和更少的代码:

    p:after {
      content:"Sic";
      font-style:italic;
      color:red;
      display:inline-block;
      margin:0 5px;
      padding:0 2px;
      border-right:1px solid #000;
      border-left:1px solid #000;
      --g:linear-gradient(#000 0,#000 1px,transparent 1px,transparent calc(100% - 1px),#000 calc(100% - 1px));
      background: var(--g) left,var(--g) right;
      background-size:3px 100%;
      background-repeat:no-repeat;
    }
    <p>Lorem ipsum</p>

    您还可以考虑更多CSS变量,以便轻松调整所需的值:

    :root {
      --b:1px;
      --c:#000;
    }
    
    p:after {
      content:"Sic";
      font-style:italic;
      color:red;
      display:inline-block;
      margin:0 5px;
      padding:0 2px;
      border-right:var(--b) solid var(--c);
      border-left:var(--b) solid var(--c);
      --g:linear-gradient(var(--c) 0,var(--c) var(--b),transparent var(--b),transparent calc(100% - var(--b)),var(--c) calc(100% - var(--b)));
      background: var(--g) left,var(--g) right;
      background-size:3px 100%;
      background-repeat:no-repeat;
    }
    <p>Lorem ipsum</p>
    <p style="--b:2px;--c:blue">Lorem ipsum</p>
    <p style="--b:3px;--c:purple">Lorem ipsum</p>
        3
  •  -1
  •   Kankuro    8 年前

    几乎在任何代码语言中都不能使用这样的引号,css也不例外。您需要分别使用单引号和双引号。

    span {
        &.sic {
            &:after {
                content: '["sic"]'
            }
        }
    }
    

    或者如果你只是想知道

    span {
        &.sic {
            &:after {
                content: "sic"
            }
        }
    }