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

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

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

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

CSS

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

Q&A

解決済

1回答

2157閲覧

wordpress Contactform7のfree_textに当たる部分のみ改行させたい

maa_80

総合スコア15

WordPress

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

CSS

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

0グッド

0クリップ

投稿2020/08/19 03:54

編集2020/08/19 05:00

前提・実現したいこと

wordpress「Contactform7」を使用しております。
フォームのチェックボックスやラジオボタンの項目にfree_textを設定し
「その他」を選択した際に文字が記入されるようにしているのですが
希望のレイアウトになりません。

希望のレイアウトとしては、その他以外の項目は横並びにし
「その他」のみ改行されるようにしたいのですが可能なのでしょうか?

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

基本的には項目は横並び表示にしたいので
class「span.wpcf7-list-item」に「display: inline-block;」を設定しています
ですが、そうすると最後の「その他」の表示がおかしくなってしまいます
イメージ説明

「display: block ruby;」にすると「その他」は良い感じなのですが、
その他以外の項目が縦並びになります
イメージ説明

希望としては下図の様に、「その他」以外の項目は横並びのままで
「その他」のみ改行されるようにしたいです
イメージ説明
※Firefoxでは「display: ruby;」にすると上図のようになったのですが
他のブラウザでは全て縦並びになってしまいました
※こちらはイメージ編集ソフトで加工したものです
※あわよくば「その他」の記入枠の幅を送信ボタンの幅に合わせたいです

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

wpcf7-form-control-wrap には position: relative; が記述されています

以下にフォームの箇所のみを追記しましたがjsなどは不要でしょうか?

<p><label>好きなお寿司のネタ<br /> <span class="wpcf7-form-control-wrap osushi"><span class="wpcf7-form-control wpcf7-checkbox"><span class="wpcf7-list-item first"><label><input type="checkbox" name="osushi[]" value="うに" /><span class="wpcf7-list-item-label">うに</span></label></span> <span class="wpcf7-list-item"><label><input type="checkbox" name="osushi[]" value="いくら" /><span class="wpcf7-list-item-label">いくら</span></label></span> <span class="wpcf7-list-item last has-free-text"><label><input type="checkbox" name="osushi[]" value="その他" /><span class="wpcf7-list-item-label">その他</span></label> <input type="text" name="_wpcf7_checkbox_free_text_osushi" class="wpcf7-free-text" /></span></span></span></label> </p>

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

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

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

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

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

kei344

2020/08/19 04:01

表示されている部分の出力されたHTML(ブラウザで「ページのソースを表示」)を質問文に追記ください。
maa_80

2020/08/19 04:24

不要箇所が多いかもしれませんが、ひとまず全て貼り付けています。
kei344

2020/08/19 04:27

(質問文は編集できます)この「質問への追記・修正の依頼」の部分はデフォルトで表示されませんので、フォームの箇所のみを質問文にコードブロックで追記してください。コードブロックは ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
maa_80

2020/08/19 05:04

ややこしく見えるので、一旦先程のコメントに対して削除依頼を出しておきます
guest

回答1

0

ベストアンサー

まずフォームのHTMLの親子関係がおかしいです。
下記のような感じの出力になるように、Contactform7 のテンプレートを修正してください。

html

1<span class="wpcf7-form-control-wrap osushi"> 2 <p>好きなお寿司のネタ</p> 3 <span class="wpcf7-form-control wpcf7-checkbox"> 4 <span class="wpcf7-list-item first"> 5 <label> 6 <input type="checkbox" name="osushi[]" value="うに" /> 7 <span class="wpcf7-list-item-label">うに</span> 8 </label> 9 </span> 10 <span class="wpcf7-list-item"> 11 <label> 12 <input type="checkbox" name="osushi[]" value="いくら" /> 13 <span class="wpcf7-list-item-label">いくら</span> 14 </label> 15 </span> 16 <span class="wpcf7-list-item last has-free-text"> 17 <label> 18 <input type="checkbox" name="osushi[]" value="その他" /> 19 <span class="wpcf7-list-item-label">その他</span> 20 </label> 21 <input type="text" name="_wpcf7_checkbox_free_text_osushi" class="wpcf7-free-text" /> 22 </span> 23 </span> 24</span>

それができたら、追加CSSに下記のCSSを追加してください。

css

1.wpcf7-form-control-wrap br { 2 display: none; 3 } 4 5.wpcf7-list-item.last { 6 display: flex; 7} 8 9.wpcf7-list-item.last > label { 10 flex-shrink: 0; 11 margin-right: 10px; 12}

Contactform7 は勝手に改行<br>を挿入するので、それを display: none; で無効にします。
これで、横並びになります。

「その他」チェックとテキストボックスの親要素に、display: flex; でブロックレベル要素にして改行させて、 かつ中身を横並びにします。

WordPressのテーマによってはフォームコントロールに独自のCSSをあてていると思いますので、微調整は必要だと思いますので、考え方を参考にして、設定してください。

投稿2020/08/19 07:08

hatena19

総合スコア33699

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

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

maa_80

2020/08/19 08:52

この度はご協力いただきまして誠にありがとうございました! 無事に希望通りのレイアウトになりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問