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

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

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

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

CSS

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

Q&A

解決済

1回答

1621閲覧

ひし形(diamond)を中央揃えにしたいです。

iisaniisan

総合スコア75

HTML

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

CSS

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

0グッド

0クリップ

投稿2022/01/09 01:30

ひし形の図形の中央に縦文字のテキストをに入れて、ひし形も左右中央揃えにしたいです。

html

<div class="section-inner"> <div class="diamond"> <h2 class="diamond-ttl">テキスト</h2> </div> </div>

css

.section-inner {
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
width: 960px;
margin: 0 auto;
}

.diamond {
width: 200px;
height: 200px;
background-color: #210d34;
transform: rotate(-45deg) skew(20deg, 20deg);
}

.diamond-ttl {
transform: rotate(45deg);
align-items: center;
color: #fff;
}

現在、上記のようなコードを書いています。
どのようにしたら良いか教えてほしいです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

.diamond を変形させると中のテキストも変形してしまうので、
疑似要素を変形させるようにしてみました。

テキストの中央寄せはflexレイアウトを使うといいでしょう。

css

1.section-inner { 2 width: 100%; 3 max-width: 960px; 4 margin: 0 auto; 5} 6 7.diamond { 8 width: 200px; 9 height: 200px; 10 display: flex; 11 justify-content: center; 12 align-items: center; 13 position: relative; 14 margin: 0 auto; 15} 16 17.diamond::before { 18 content: ""; 19 position: absolute; 20 display: block; 21 width: 200px; 22 height: 200px; 23 background-color: #210d34; 24 transform: rotate(-45deg) skew(20deg, 20deg); 25 z-index: -1; 26} 27 28.diamond-ttl { 29 -ms-writing-mode: tb-rl; 30 writing-mode: vertical-rl; 31 color: #fff; 32}

CodePen Sample

別案

clip-pathを使った方がシンプルにできますね。

css

1.section-inner { 2 max-width: 960px; 3 width: 100%; 4 margin: 0 auto; 5 display: flex; 6 justify-content: center; 7} 8 9.diamond { 10 width: 380px; 11 height: 180px; 12 display: flex; 13 justify-content: center; 14 align-items: center; 15 background-color: #210d34; 16 clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 17} 18 19.diamond-ttl { 20 -ms-writing-mode: tb-rl; 21 writing-mode: vertical-rl; 22 color: #fff; 23}

CodePen Sample

投稿2022/01/09 02:15

編集2022/01/09 13:32
hatena19

総合スコア33795

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

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

iisaniisan

2022/01/09 13:05

回答ありがとうございます。ひし形の真ん中に縦文字を入れることができました。 このひし形自体を画面の左右中央に配置したいので、もし分かれば教えてほしいです。
hatena19

2022/01/09 13:34

回答のコードを中央配置になるように修正しましたので、参照ください。
iisaniisan

2022/01/10 05:52

上手くできました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問