質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1614閲覧

display: gridで行数を固定したい

NakaShun_1129

総合スコア20

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/04/19 06:38

編集2021/04/19 07:58

display: gridで行数を固定したいのですが、やり方がわからないのでどなたかご教授お願いします。

####実装したいこと
行数を4行に固定し、データの数によって列数が決まる。

現状のレイアウト

イメージ説明
使用しているjsonデータ

{ "type": "かず", "color": "#FF0000", "kanji": "一二三四五六七八九十" },
<template lang="pug"> div.keys-table-kanji div.keys-group(v-for="key in keys") div.kanji-tab( :style="getTabColorStyle(key)" ) {{key.type}} div.kanji-keys Key( v-for="kanji in splitKanji(key.kanji)" :value="kanji" :style="getKeyColorStyle(key)" @click="onKey" ).kanji-key </template> <script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator'; import Key from '@/components/softwareKeyboard/Key.vue'; import { KeyboardKanji } from '@/theme/types'; @Component({ components: { Key, KeysTable}, }) export default class KeysTableKanji extends Vue { @Prop() keys: KeyboardKanji[] | undefined; private modal = false; private onKey(value: string) { this.$emit('click', value); } private getTabColorStyle(item: KeyboardKanji) { return { background: item.color, }; } private getKeyColorStyle(item: KeyboardKanji) { return { borderColor: item.color, border: `solid ${item.color} 2px` }; } private splitKanji(value: string) { return value.split('') } } </script> <style scoped> .kanji-keys{ //ここを編集したい margin-top: 8px; display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 6px; width: 100%; } .kanji-key { width: 40px; } </style> コード

追加

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

grid-auto-flow: columnを試してみてはどうでしょうか。

サンプル

参考:
grid-auto-flow - CSS: Cascading Style Sheets | MDN

投稿2021/04/19 07:22

編集2021/04/19 07:23
Lhankor_Mhy

総合スコア36074

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NakaShun_1129

2021/04/19 08:00

ありがとうございます!期待通りのレイアウトになりました。 追加で質問したいことがあるのですが、追加した画像のような順番で並べることはできますでしょうか? 現状、縦方向に順番に配置されるのを横方向に配置していきたいです。
Lhankor_Mhy

2021/04/19 08:13

それはCSSだけだと難しいような気がしますね。
NakaShun_1129

2021/04/23 02:20

返信いただきありがとうございます! CSSだけでは難しいようなので今回は一旦教えていただいたやり方でで進めたいと思います。
NakaShun_1129

2021/04/27 02:38

先日CSSだけだと難しいと回答をいただいたgridの並びについてなのですが、 この要件をどうしても満たさねければならない場合Lhankor_Mhy様はどのようなやり方で実装しますでしょうか?頼ってばかりですみません、何かありましたらアドバイスをいただきたいです。
Lhankor_Mhy

2021/04/27 02:53

JavaScript で解決すると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問