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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

0回答

2139閲覧

React Material UIで正方形のGridを作りたい

Romay

総合スコア40

Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

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

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2021/05/16 12:25

実現したいこと

Rails × ReactでWebアプリケーションを作成しています。
Material-UIを導入しており、Gridで正方形のGridを作成したいのですがうまくいきません。

前提

Ruby on Rails
React (TypeScript)
Material-UI

発生している問題・エラーメッセージ

Gridでは横幅を等幅にすることはできますが、Gridのitemを横幅=高さにかんたんにすることができません。
こちらの記事CSSだけで縦横比固定のトリミングされたサムネイルをつくる【内接・外接リサイズ】を参考にCSSで対応しましたが、GridのItemの中身にテキスト要素があるためheight=0にすることで、そのテキスト要素に影響してしまいます。

以下tsxファイル内のCSS該当部分

CSS

1aaaButton: { 2 display: "block", 3 margin: theme.spacing("auto", "auto"), 4 width: "100%", 5 textAlign: "center", 6 boxShadow: "none", 7 //以下を追加 8 height: 0, 9 paddingBottom: '100%', 10 }, 11

以下同ファイル内のreturn内のTypeScript部分

TypeScript

1<Grid container alignItems="stretch"> 2 <Grid 3 item 4 sm={4} 5 xs={3} 6 direction="row" 7 justify="flex-start" 8 alignItems="flex-start" 9 > 10 <Button 11 className={classes.aaaButton} 12 variant="contained" 13 > 14 <Typography 15 style={{fontSize: "0.8rem", fontWeight: "bold", marginRight: 3, marginTop: "auto"}}> 16 {xxx.aaa_name} 17 </Typography> 18 </Button> 19 </Grid> 20</Grid>

#####以下PC画像
中身が中心に来ず上に来てしまいます。
PC画像

#####以下スマホ画像
中身のTypographyが長い時は、itemの高さを中身に合わせて可変にして長方形にしたいです。
スマホ画像

試したこと

Gridのitemは、正方形にはなるものの、itemの中身のTypographyが正方形の中心に来ません。marginTop: "auto"を指定しても効きません。。。

補足情報(FW/ツールのバージョンなど)

正方形を作るのに他の方法、またはこの方法で中身に影響しない方法があればご教授いただけると嬉しいです。

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問