【问题标题】:How to center the content of (centered) pure css columns如何将(居中的)纯css列的内容居中
【发布时间】:2022-02-04 05:11:10
【问题描述】:

sn-p 表示一系列包含单个字母的列。我希望将字形的中心放在每个字形的中心,但正如您所见,它们并没有完全居中 - 出现在右侧。 (我怀疑是字形宽度的一半,但我不确定)。

我试过justify-content: centermargin: auto 无济于事。检查纯粹的,我看不出有什么可以阻止我的目标。你能帮我修一下吗?

.centered-cols {
  justify-content: center;
}

.key {
  text-align: center;
  min-width: 1.9em;
  margin: 0.2em;
  border-radius: 0.4em;
  background-color: lightgrey;
}
<link href="https://unpkg.com/purecss@2.0.6/build/pure-min.css" rel="stylesheet" />

<div class="pure-g centered-cols">
  <div id="q" class="pure-u-1-10 key"><p>A</p></div>
  <div id="w" class="pure-u-1-10 key"><p>B</p></div>
  <div id="e" class="pure-u-1-10 key"><p>C</p></div>
  <div id="r" class="pure-u-1-10 key"><p>D</p></div>
  <div id="t" class="pure-u-1-10 key"><p>E</p></div>
  <div id="y" class="pure-u-1-10 key"><p>F</p></div>
  <div id="u" class="pure-u-1-10 key"><p>G</p></div>
  <div id="i" class="pure-u-1-10 key"><p>H</p></div>
  <div id="o" class="pure-u-1-10 key"><p>I</p></div>
  <div id="p" class="pure-u-1-10 key"><p>J</p></div>
</div>

【问题讨论】:

    标签: html css yui-pure-css


    【解决方案1】:

    .key css 类中添加 letter-spacing: 0

    .key {
      letter-spacing: 0;
      text-align: center;
      min-width: 1.9em;
      margin: 0.2em;
      border-radius: 0.4em;
      background-color: lightgrey;
    }
    <link href="https://unpkg.com/purecss@2.0.6/build/pure-min.css" rel="stylesheet" />
    
    <div class="pure-g centered-cols">
      <div id="q" class="pure-u-1-10 key">
        <p>A</p>
      </div>
      <div id="w" class="pure-u-1-10 key">
        <p>B</p>
      </div>
      <div id="e" class="pure-u-1-10 key">
        <p>C</p>
      </div>
      <div id="r" class="pure-u-1-10 key">
        <p>D</p>
      </div>
      <div id="t" class="pure-u-1-10 key">
        <p>E</p>
      </div>
      <div id="y" class="pure-u-1-10 key">
        <p>F</p>
      </div>
      <div id="u" class="pure-u-1-10 key">
        <p>G</p>
      </div>
      <div id="i" class="pure-u-1-10 key">
        <p>H</p>
      </div>
      <div id="o" class="pure-u-1-10 key">
        <p>I</p>
      </div>
      <div id="p" class="pure-u-1-10 key">
        <p>J</p>
      </div>
    </div>

    【讨论】:

      【解决方案2】:

      Pure 通过在 pure-g CSS 类中设置 letter-spacing: -.31em 来制造此问题。

      只需设置letter-spacing: normal !important; 即可覆盖它:

      .centered-cols {
        justify-content: center;
        letter-spacing: normal !important;
      }
      
      .key {
        text-align: center;
        min-width: 2.9em;
        margin: 0.2em;
        border-radius: 0.4em;
        background-color: lightgrey;
      }
      <link href="https://unpkg.com/purecss@2.0.6/build/pure-min.css" rel="stylesheet" />
      
      <div class="pure-g centered-cols">
        <div id="q" class="pure-u-1-10 key"><p>A</p></div>
        <div id="w" class="pure-u-1-10 key"><p>B</p></div>
        <div id="e" class="pure-u-1-10 key"><p>C</p></div>
        <div id="r" class="pure-u-1-10 key"><p>D</p></div>
        <div id="t" class="pure-u-1-10 key"><p>E</p></div>
        <div id="y" class="pure-u-1-10 key"><p>F</p></div>
        <div id="u" class="pure-u-1-10 key"><p>G</p></div>
        <div id="i" class="pure-u-1-10 key"><p>H</p></div>
        <div id="o" class="pure-u-1-10 key"><p>I</p></div>
        <div id="p" class="pure-u-1-10 key"><p>J</p></div>
      </div>

      【讨论】:

        【解决方案3】:

        只需在纯 g 类中删除 letter-spacing: -.31em;

        【讨论】:

          【解决方案4】:

          如果您想要等宽的项目,请使用 CSS 网格,您可以轻松地将它们居中:

          .centered-cols {
            display:grid;
            width:max-content;
            margin:auto;
            grid-auto-flow:column;
            grid-auto-columns:1fr;
          }
          
          .key {
            text-align:center;
            padding:0 .8em;
            margin: 0.2em;
            border-radius: 0.4em;
            background-color: lightgrey;
          }
          <link href="https://unpkg.com/purecss@2.0.6/build/pure-min.css" rel="stylesheet" />
          
          <div class="centered-cols">
            <div id="q" class="key"><p>A</p></div>
            <div id="w" class="key"><p>B</p></div>
            <div id="e" class="key"><p>C</p></div>
            <div id="r" class="key"><p>D</p></div>
            <div id="t" class="key"><p>E</p></div>
            <div id="y" class="key"><p>F</p></div>
            <div id="u" class="key"><p>G</p></div>
            <div id="i" class="key"><p>H</p></div>
            <div id="o" class="key"><p>I</p></div>
            <div id="p" class="key"><p>J</p></div>
          </div>

          【讨论】:

            【解决方案5】:

            由于我们已经在 flexbox 领域,这样的事情也可以工作,而不需要 !important

            .centered-cols {
              justify-content: center;
            }
            
            .key {
              display: flex;
              justify-content: center;
              letter-spacing: normal;
              min-width: 1.9em;
              margin: 0.2em;
              border-radius: 0.4em;
              background-color: lightgrey;
            }
            <link href="https://unpkg.com/purecss@2.0.6/build/pure-min.css" rel="stylesheet" />
            
            <div class="pure-g centered-cols">
              <div id="q" class="pure-u-1-10 key"><p>A</p></div>
              <div id="w" class="pure-u-1-10 key"><p>B</p></div>
              <div id="e" class="pure-u-1-10 key"><p>C</p></div>
              <div id="r" class="pure-u-1-10 key"><p>D</p></div>
              <div id="t" class="pure-u-1-10 key"><p>E</p></div>
              <div id="y" class="pure-u-1-10 key"><p>F</p></div>
              <div id="u" class="pure-u-1-10 key"><p>G</p></div>
              <div id="i" class="pure-u-1-10 key"><p>H</p></div>
              <div id="o" class="pure-u-1-10 key"><p>I</p></div>
              <div id="p" class="pure-u-1-10 key"><p>J</p></div>
            </div>

            【讨论】:

              猜你喜欢
              • 2012-02-28
              • 1970-01-01
              • 2012-10-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多