sembokulove
@sembokulove (Missing place)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

↑cssで文字サイズをあけるのに失敗しています。どのようにしたらいいでしょうか。 テラテイルでは満足いく答えが出なかったのでここに来ました。

解決したいこと

ここに解決したい内容を記載してください。css 質問 20240610 Mon.png

例)
↑cssで文字サイズをあけるのに失敗しています。どのようにしたらいいでしょうか。
テラテイルでは満足いく答えが出なかったのでここに来ました。

発生している問題・エラー

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Station Board</title>
    <style>
        table {
            background-color: #cdefff;
            width: 640px;
            margin: 0 auto;
            border-collapse: collapse;
        }
        td {
            background-color: #00e2cf;
            vertical-align: middle;
            border: 1px solid #333;
        }
        .top-station-kan {
            font-size: 48pt;
            font-weight: 700;
            letter-spacing: 12pt;
            text-align: center;
            white-space: nowrap;
            display: flex;
            justify-content: center;
            align-items: stretch;
            height: 80px;
            margin-left: 65pt;
        }
.top-station-hiragana-roma {
    font-size: 14pt;
    font-weight: 700;
    letter-spacing: 1pt;
    text-align: center;
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: stretch;
    height: 40px;
    margin-left: 60pt; /* .top-station-hiragana の margin-left を修正 */
}
        .blank {
	margin:0px 10pt;        }
        .arrow-left,
        .arrow-left-3,
        .not-arrow {
            width: 2.5pt;
            text-align: left;
            vertical-align: middle;
            display: inline-block;
            box-sizing: content-box;
        }
        .arrow-right,
        .arrow-right-2,
        .not-arrow-3 {
            width: 2.5pt;
            text-align: right;
            vertical-align: middle;
            display: inline-block;
            box-sizing: content-box;
        }
        .next-hiragana,
        .previous-hiragana,
        .next-hiragana-2,
        .previous-hiragana-2,
        .next-hiragana-3,
        .previous-hiragana-3 {
            font-size: 14pt;
        }
        .next-roma,
        .previous-roma,
        .next-roma-2,
        .previous-roma-2 {
            letter-spacing: 1.5pt;
        }
        .next-hiragana,
        .next-roma,
        .next-hiragana-2,
        .next-roma-2,
        .next-hiragana-3,
        .next-roma-3 {
            text-align: left;
            display: inline-block;
            padding-left: 0;
            padding-right: 60pt;
            width: 0;
            white-space: nowrap;
            box-sizing: content-box;
        }
        .next-hiragana,
        .next-roma,
        .next-hiragana-3,
        .next-roma-3 {
           letter-spacing: 4pt ;
        }
        .next-hiragana,
        .next-roma,
        {
           letter-spacing: 4pt ;
        }
        .previous-hiragana,
        .previous-roma,
        .previous-hiragana-2,
        .previous-roma-2,
        .

例)

NameError (uninitialized constant World)

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

ソースコードを入力

例)

def greet
  puts Hello World
end

自分で試したこと

.top-station-hiragana-roma {
    font-size: 14pt;
    font-weight: 700;
    letter-spacing: 1pt;
    text-align: center;
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: stretch;
    height: 40px;
    margin-left: 60pt; /* .top-station-hiragana の margin-left を修正 */
}

top-station-hiragana-romaを分割しましたが、どうしてもテーブルが崩れてしまいます。
実際にチャットgptや、テラテイルで質問しましたが、納得のいく解がなかったので、こちらに来させていただきました。

0

5Answer

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Station Board</title>
    <style>
        table {
            background-color: #cdefff;
            width: 640px;
            margin: 0 auto;
            border-collapse: collapse;
        }
        td {
            background-color: #00e2cf;
            vertical-align: middle;
            border: 1px solid #333;
        }
        .top-station-kan {
            font-size: 48pt;
            font-weight: 700;
            letter-spacing: 12pt;
            text-align: center;
            white-space: nowrap;
            display: flex;
            justify-content: center;
            align-items: stretch;
            height: 80px;
            margin-left: 65pt;
        }
.top-station-hiragana-roma {
    font-size: 14pt;
    font-weight: 700;
    letter-spacing: 1pt;
    text-align: center;
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: stretch;
    height: 40px;
    margin-left: 60pt; /* .top-station-hiragana の margin-left を修正 */
}
        .blank {
	margin:0px 10pt;        }
        .arrow-left,
        .arrow-left-3,
        .not-arrow {
            width: 2.5pt;
            text-align: left;
            vertical-align: middle;
            display: inline-block;
            box-sizing: content-box;
        }
        .arrow-right,
        .arrow-right-2,
        .not-arrow-3 {
            width: 2.5pt;
            text-align: right;
            vertical-align: middle;
            display: inline-block;
            box-sizing: content-box;
        }
        .next-hiragana,
        .previous-hiragana,
        .next-hiragana-2,
        .previous-hiragana-2,
        .next-hiragana-3,
        .previous-hiragana-3 {
            font-size: 14pt;
        }
        .next-roma,
        .previous-roma,
        .next-roma-2,
        .previous-roma-2 {
            letter-spacing: 1.5pt;
        }
        .next-hiragana,
        .next-roma,
        .next-hiragana-2,
        .next-roma-2,
        .next-hiragana-3,
        .next-roma-3 {
            text-align: left;
            display: inline-block;
            padding-left: 0;
            padding-right: 60pt;
            width: 0;
            white-space: nowrap;
            box-sizing: content-box;
        }
        .next-hiragana,
        .next-roma,
        .next-hiragana-3,
        .next-roma-3 {
           letter-spacing: 4pt ;
        }
        .next-hiragana,
        .next-roma,
        {
           letter-spacing: 4pt ;
        }
        .previous-hiragana,
        .previous-roma,
        .previous-hiragana-2,
        .previous-roma-2,
        .previous-hiragana-3,
        .previous-roma-3 {
            text-align: right;
            display: inline-block;
            padding-left: 0;
            padding-right: 47.5pt;
            width: 0;
            white-space: nowrap;
            box-sizing: content-box;
        }
        .previous-hiragana,
        .previous-roma,
        .previous-hiragana-2,
        .previous-roma-2 {
            letter-spacing: 4pt ;
        }
    </style>
</head>
<body>
    <select id="tableSelect" onchange="changeTable()">
        <option value="table1">Table 1</option>
        <option value="table2">Table 2</option>
        <option value="table3">Table 3</option>
    </select>

    <table id="table1">
        <tbody>
            <tr>
                <td colspan="4">
                    <div class="top-station-kan">森ノ宮</div>
                </td>
            </tr>
            <tr>
                <td colspan="4">
                    <div class="top-station-hiragana">もりのみや<span class="blank"></span></div><div class="top-station-roma">Morinomiya</div>
                </td>
            </tr>
            <tr>
                <td>
                    <span class="arrow-left">←</span>
                </td>
                <td class="next">
                    <span class="next-hiragana">おおさかじょうこうえん</span><br><span class="next-roma">Ōsakajōkōen</span>
                </td>
                <td class="previous">
                    <span class="previous-hiragana">おおさかじょうこうえん</span><br><span class="previous-roma">Ōsakajōkōen</span>
                </td>
                <td>
                    <span class="arrow-right">→</span>
                </td>
            </tr>
        </tbody>
    </table>

    <table id="table2" style="display: none;">
        <tbody>
            <tr>
                <td colspan="4">
                    <div class="top-station-kan">森ノ宮</div>
                </td>
            </tr>
            <tr>
                <td colspan="4">
                    <div class="top-station-hiragana-roma">もりのみや<span class="blank"></span>Morinomiya</div>
                </td>
            </tr>
            <tr>
                <td>
                    <span class="not-arrow"></span>
                </td>
                <td class="next-2">
                    <span class="next-hiragana-2">おおさかじょうこうえん</span><br><span class="next-roma-2">Ōsakajōkōen</span>
                </td>
                <td class="previous-2">
                    <span class="previous-hiragana-2">おおさかじょうこうえん</span><br><span class="previous-roma-2">Ōsakajōkōen</span>
                </td>
                <td>
                    <span class="arrow-right-2">→</span>
                </td>
            </tr>
        </tbody>
    </table>
1Like

テラテイルで質問しましたが、納得のいく解がなかったので、こちらに来させていただきました。

その url を質問欄を編集して追記してください。

0Like

Comments

  1. Teratail のコメント欄を見ましたが、24時間以内に回答が来るのは期待しない方がいいですよ。 Teratail でもここでも。

htmlをうまく貼り付けできていないです。肝心の「Morinomiya」の文字は見えないです。
「`」三つで囲むようにもう一回貼り付けたらいかがですか。

0Like

Comments

  1. (24時間は経っているのに返信ないな…。:qiitan-cry:

  2. @sembokulove

    Questioner

    3文字の場合は、今の出会っています。
    最終的には、どんな文字を入れても中央揃えにしたいです。
    今のだと、2段目の文字が、もりのみやのところから始まるようになってしまうので。

  3. 返信ありがとうございます。
    念のため伝えておくと、先ほどのコメントは「早く返信して欲しい」ことを伝えたかったわけではないです。

    本題ですが、長い駅名でもひらがなと英語名が中央から分かれて表示されるようになっています。
    こういうことではなかったでしょうか?

    image.png

  4. @sembokulove

    Questioner

    このようになるのが正解ですが、
    実際は、2段目のひらがなとローマ字の開始位置は、中央ぞろえになっておらず、5文字の時でも、2文字でも3文字でも同じ開始位置になります。
    これを解消するにはどのようにすればいいのでしょうか。
    あと一つ言い忘れていました。
    1段目の漢字もです。これも3文字のパターンしか考慮していないので、
    中央ぞろえにならないです。
    cssを省略せずにお書きいただければと思っております。

  5. CSSは最初のコメントにあるCodePenのソースを参考にしていただければと思います。

  6. @sembokulove

    Questioner

    letter-spacingを設定すると、ずれるんですが、どのように訂正すればよろしいですか。

  7. letter-spacingを設定すると、ずれるんですが、どのように訂正すればよろしいですか。

    letter-spacingをどこの項目にどのように設定したら、どのようにずれるのでしょうか?
    letter-spacingを設定して、どのような形になっていればOKでしょうか?
    もう少し詳しく情報をいただければありがたいです。

  8. @sembokulove

    Questioner

    一つ注文ですが、ひらがなとローマ字はまず、divで囲ってあげているので、
    そのdivのクラスの部分に、text-align:centerとやりたいです。
    からのそれぞれに独自の違うletter-spacingを設定してやると、
    必ず、ひらがなは左にずれ、ローマ字は右にずれます。
    恐らくconteinerで設定可能なはずですが、どのようにしたらいいですか。
    ちなみに、ひらがなはfont-size:18pt;で、letter-spacing:3.5pt;です。
    ローマ字は、font-size:20ptで、letter-spacing:1pt;です。

  9. やりたいことは、

    「ひらがな」と「英語名」の間に余白を持たせて中央に寄せるイメージでしょうか?

    See the Pen station1 by yotty (@yotty) on CodePen.

    それとも、2行目を半分の幅の領域に分けて、分けた領域の中央にそれぞれ「ひらがな」と「英語名」を配置するイメージでしょうか?

    See the Pen station1 by yotty (@yotty) on CodePen.

  10. @sembokulove

    Questioner

    すみません。これで上半分の自駅表示はちょうど中央になりました。
    後は下前駅表示と次駅表示の部分ですが、本題からそれるので、ここで一区切りとします。

    table {
      background-color: #cdefff;
      width: 640px;
      margin: 0 auto;
      border-collapse: collapse;
      text-align: center;
    }
    
    td {
      background-color: #00e2cf;
      vertical-align: middle;
      border: 1px solid #333;
    }
    
    .top-station-kan {
      font-size: 56pt;
      font-weight: 700;
      letter-spacing: 12pt;
      text-indent:16pt;
      white-space: nowrap;
      display: flex;
      justify-content: center;
      align-items: stretch;
      height: 80px;
    }
    .container{
      display: flex;
      justify-content: center;
      align-items: center;
    gap:20pt;
      text-align: center;
      font-weight:700pt;
    }
    .top-station-hiragana{
      font-size: 18pt;
      letter-spacing: 1.5pt;
      text-indent:1pt;
    }
    .top-station-roma{
      font-size: 20pt;
      letter-spacing: 1pt;
    }
    

    css 質問解決 20240610 Mon.png

  11. 個人的には、ひらがなと英語名の間の余白部が中央やや左よりになっているように見えて気にはなりますね…。

    解決したようであれば、クローズにしていただけるとありがたいです。

Your answer might help someone💌