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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

CSS

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

Q&A

解決済

2回答

1023閲覧

左寄せのまま中央配置したいのですがどうか教えてください

moganbo

総合スコア5

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

CSS

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

0グッド

0クリップ

投稿2020/04/05 03:57

前提・実現したいこと

wordpressのスポイラー箇所で、タイトルを左寄せしたまま中央配置したいのですが、詳しい方教えていただけませんでしょうか?

中央配置にはなるのですが、左寄せのままができなくずれてしまいます。

該当のソースコード

css

.ac-container{
width: auto;
margin: 30px auto;
text-align: center;
}
.ac-container label{
width: 75%;
text-align: left;
background: #e6eae3;
margin: 0 auto;
padding: 5px 5px 5px 5px;
position: relative;
display: block;
height: 40px;
cursor: pointer;
color: #56564b;
}
.ac-container label:hover{
background: #d4dcd6;
-webkit-transition: all .3s;
transition: all .3s;
}
.ac-container label:before{
color: #56564b;
font-family:"FontAwesome";
content:"\f055";
}
.ac-container input:checked ~ label::before {
color: #56564b;
font-family:"FontAwesome";
content:"\f056";
}
.ac-container input{
display: none;
}
.ac-container div{
background: rgba(255, 255, 255, 0.5);
margin-top: -1px;
overflow: hidden;
height: 0px;
position: relative;
z-index: 10;
transition:
height 0.3s ease-in-out,
box-shadow 0.6s linear;
}
.ac-container input:checked ~ div{
transition:
height 0.5s ease-in-out,
box-shadow 0.1s linear;
box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3);
}
.ac-container div p{
color: #777;
line-height: 23px;
font-size: 14px;
padding: 20px;
}
/* 高さの定義 */
.ac-container input:checked ~ div.ac-small{
height: auto;
}
.ac-container input:checked ~ div.ac-medium{
height: 200px;
}
.ac-container input:checked ~ div.ac-large{
height: 300px;
}

HTML

<div class="ac-container"> <input id="ac-1" name="accordion-1" type="checkbox">
<label for="ac-1">サイト利用規約</label>
<div class="ac-container"> <input id="ac-2" name="accordion-2" type="checkbox"> <label for="ac-1">個人情報保護方針</label>

このlabelの箇所の文字を左寄せのまま中央配置したいのですがうまくいきません。
.ac-container label:before{
color: #56564b;
font-family:"FontAwesome";
content:"\f055";
これも含め左寄せのまま中央配置したいのです。
現在は文字数が1段目と2段目が違うため中央によってはいますが、左寄せにはなっていません。
どうかお力を貸していただきたいです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

「左寄せのまま中央配置」というのは矛盾した表現ですが、下記のようなことでしょうか。

長い方のテキストを中央寄せして、短い方のテキストをその左端に揃える(下記の□の位置を揃えたい。)。

------------------------------------- □サイト利用規約 □個人情報保護方針 -------------------------------------

もしそうなら、現状のHTMLのままだとJSを使わないと難しいでしょうね。

簡易的な方法ですが全角空白でテキスト長を揃えるという方法はどうでしょうか。

html

1<div class="ac-container"> 2 <input id="ac-1" name="accordion-1" type="checkbox"> 3 <label for="ac-1">サイト利用規約 </label> 4</div> 5 6<div class="ac-container"> 7 <input id="ac-2" name="accordion-2" type="checkbox"> 8 <label for="ac-1">個人情報保護方針</label> 9</div>

css

1.ac-container label{ 2 width: 75%; 3 text-align: center; 4以下略

投稿2020/04/05 04:58

hatena19

総合スコア33715

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

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

moganbo

2020/04/05 05:56

ありがとうございます! 大変助かりました。 全角スペースを入れる発想はありませんでしたが解決できました。 1週間以上悩んでいたので大変助かりました
guest

0

親要素にdisplay: flex;justify-content: center;を指定すると中央に配置することができると思います。

CodePenで試しに作ってみました

HTML

1<div class="parent"> 2 <div class="box"> 3 <p> 4 ああああああああああああああああああああああああ<br> 5 いいいいいいいいいいいいいいい 6 </p> 7 </div> 8</div>

CSS

1.parent { 2 display: flex; 3 justify-content: center; 4} 5.box { 6 padding: 30px; 7 background: #f00; 8}

追記:
最終的な姿がわからないので勘になってしまいますが、こちらでいかがでしょうか?
<label>内に<input type="checkbox">を置くと、「サイト利用規約」など文字の部分も押せるようになるので
そのようにしています。

HTML

1<div class="ac-container"> 2 <div> 3 <label for="ac-1"> 4 <input id="ac-1" name="accordion-1" type="checkbox"> 5 サイト利用規約 6 </label> 7 <label for="ac-1"> 8 <input id="ac-2" name="accordion-2" type="checkbox"> 9 個人情報保護方針 10 </label> 11 </div> 12</div>

CSS

1.ac-container { 2 width: auto; 3 margin: 30px auto; 4 text-align: center; 5 6 display: flex; /* 追加 */ 7 justify-content: center; /* 追加 */ 8} 9.ac-container label { 10 /* width: 75%; */ 11 text-align: left; 12 background: #e6eae3; 13 margin: 0 auto; 14 padding: 5px 5px 5px 5px; 15 position: relative; 16 display: block; 17 height: 40px; 18 cursor: pointer; 19 color: #56564b; 20} 21 22.ac-container label:hover { 23 background: #d4dcd6; 24 -webkit-transition: all .3s; 25 transition: all .3s; 26} 27 28.ac-container label:before { 29 color: #56564b; 30 font-family: "FontAwesome"; 31 content: "\f055"; 32} 33 34.ac-container input:checked~label::before { 35 color: #56564b; 36 font-family: "FontAwesome"; 37 content: "\f056"; 38} 39 40.ac-container input { 41 display: none; 42} 43/* 44.ac-container div { 45 background: rgba(255, 255, 255, 0.5); 46 margin-top: -1px; 47 overflow: hidden; 48 height: 0px; 49 position: relative; 50 z-index: 10; 51 transition: height 0.3s ease-in-out, box-shadow 0.6s linear; 52} 53*/ 54 55.ac-container input:checked~div { 56 transition: height 0.5s ease-in-out, box-shadow 0.1s linear; 57 box-shadow: 0px 0px 0px 1px rgba(155, 155, 155, 0.3); 58} 59 60.ac-container div p { 61 color: #777; 62 line-height: 23px; 63 font-size: 14px; 64 padding: 20px; 65} 66 67 68/* 高さの定義 */ 69 70.ac-container input:checked~div.ac-small { 71 height: auto; 72} 73 74.ac-container input:checked~div.ac-medium { 75 height: 200px; 76} 77 78.ac-container input:checked~div.ac-large { 79 height: 300px; 80}

投稿2020/04/05 04:33

編集2020/04/05 05:20
new1ro

総合スコア4528

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

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

moganbo

2020/04/05 04:46

ありがとうございます!! すみません初心者のためわからないことが多くて、これをどう書き換えて良いのか教えていただけないでしょうか..... この<P>で<LABEL>を囲んでしまって良いものなんでしょうか?
new1ro

2020/04/05 04:56 編集

<label>の親要素 (.ac-containerでしょうか?) に display: flex; justify-content: center; を指定してみてください。 あとソースコードは「```」で囲ってもらえると読めるようになるので回答者も増えると思います。 ``` (ソースコード) ```
moganbo

2020/04/05 06:05

ご親切にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問