Mengapa teks dibalut tetapi tiada tanda sempang ditunjukkan?
P粉060112396
P粉060112396 2023-09-14 19:55:12
0
1
672

Ini kodnya:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  
  <ol class="meaning">
    <li class="meaning-item">这是一个示例句子,其中长单词应该被连字符分隔
      <ul class="sentences">
        <li class="sentence">这是一个示例句子,其中长单词应该被连字符分隔</li>
        <li class="translation">这是一个示例句子,其中长单词应该被连字符分隔</li>
      </ul>
    </li>
  </ol>
  
</body>
</html>

.meaning {
  list-style-type: none;
  counter-reset: item;
  font-size: calc(0.7em + 2.5vw);
  word-break: break-all;
  hyphens: auto;
}

.meaning > li {
  position: relative;
}

.meaning > li::before {
  content: counter(item);
  counter-increment: item;
  position: absolute;
  top: 0;
  text-align: center;
  margin-left: calc(-0.7em - 2.5vw);
}

.sentences {
  list-style-type: none;
  padding-left: 0;
}

Perkataan itu dibalut seperti yang saya mahukan, tetapi tanda sempang itu sendiri ("-") tidak muncul di mana perkataan itu dibungkus.

Selain itu, saya mahu secara eksplisit memberitahu penyemak imbas

  • 中的文本是英语(en),
  • bahawa teks di dalamnya adalah dalam bahasa Jerman (de). Saya tahu tidak semua penyemak imbas mempunyai arahan terbina dalam khusus bahasa untuk tanda sempang, tetapi saya ingin mencubanya.

    Saya juga menyimpan kod ini dalam JS Bin.

    Terima kasih!

  • P粉060112396
    P粉060112396

    membalas semua(1)
    P粉920199761

    1.) Jangan gunakan word-break: break-all; - ia akan memecahkan perkataan di mana-mana, tanpa mengira peraturan sempang.

    2.) Gabungkan dengan html 标签中使用 lang 属性和 hyphens: auto; untuk membolehkan tanda sempang automatik.

    3.) Anda boleh menggunakan berbeza lang 属性 - 请看下面我如何将 lang="de" 应用于最后一个 li elemen dalam mana-mana elemen yang mengandungi bahasa lain.

    .meaning {
      list-style-type: none;
      counter-reset: item;
      font-size: calc(0.7em + 2.5vw);
      hyphens: auto;
    }
    
    .meaning > li {
      position: relative;
    }
    
    .meaning > li::before {
      content: counter(item);
      counter-increment: item;
      position: absolute;
      top: 0;
      text-align: center;
      margin-left: calc(-0.7em - 2.5vw);
    }
    
    .sentences {
      list-style-type: none;
      padding-left: 0;
    }
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
      
      <ol class="meaning">
        <li class="meaning-item">这是一个例子,其中复杂的非常长的单词应该被连字符分隔
          <ul class="sentences">
            <li class="sentence">这是一个例子,其中长的单词应该被连字符分隔</li>
            <li class="translation" lang="de">Das ist ein Beispiel für einen Satz, der außergewöhnlich überlange Wörter enthält, welche am Zeilenende bei Bedarf geteilt werden sollen.</li>
          </ul>
        </li>
      </ol>
      
    </body>
    </html>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!