wp contact form 7でのチェックボックス装飾
2018年10月16日
ここは随分手間取ってしまった。
擬似要素とwpcf7の出力関係、隣接クラスに当てるcssなど、時なくwpcf7吐き出すタグに合わせなくてはならないので苦労した。
最終的に当てたcssは以下
/* checkbox */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select, .wpcf7 select option,
.checkbox input[type=checkbox] + span.wpcf7-list-item-label:before {
width: 200px;
height: 25px;
font-size: 90%;
color: #2F2F2F;
border: 1px solid #CCC;
background-color: #E9E9E9;
display: inline-block;
}
.wpcf7 input[type="number"] {
width: 45px;
height: 20px;
font-size: 90%;
}
.wpcf7 textarea {
margin-top: 5px;
width: 100%;
height:160px;
color: #2F2F2F;
font-size: 90%;
background-color: #E9E9E9;
border: 1px solid #CCC;
filter: Alpha(opacity=70,enabled=70);
}
/* checkbox */
.checkbox input[type="checkbox"],
.corporation input[type="checkbox"],
.personal input[type="checkbox"],
.organization input[type="checkbox"],
.special_support input[type="checkbox"],
.support input[type="checkbox"],
.enroll-confirm input[type="checkbox"]
{
display: none;
}
.checkbox_margin{
margin-top: 4px;
margin-bottom: 4px;
}
/* checkbox - unchecked */
.wpcf7 input[type="checkbox"] + span.wpcf7-list-item-label::before
{
display: inline-block;
content: "";
position: relative;
top: 3px;
width: 15px;
height: 15px;
border: 1px solid #CCC;
background-color: #E9E9E9;
margin-right: 10px;
}
/* checkbox- checked */
.wpcf7 input[type="checkbox"]:checked + span.wpcf7-list-item-label::after
{
content: "";
display: block;
position: absolute;
top: -3px;
left: 6px;
width: 7px;
height: 14px;
transform: rotate(40deg);
border-bottom: 3px solid #9A0000;
border-right: 3px solid #9A0000;
}
/* checkbox位置調整 */
span.wpcf7-list-item {
margin: 0;
}
/*checkbox - title */
.checkbox .wpcf7-form-control-wrap{
margin-left: 14px;
font-size: 1rem;
font-weight: 400; /* Regular */
}
/* wpcf response */
div.wpcf7-response-output {
margin: 20px auto;
width: 60vw;
border: 1px solid #9A0000;
background-color: #E5E5E5;
}
div.wpcf7-mail-sent-ok {
border: 1px solid #0DEC93;
}
div.wpcf7-mail-sent-ng {
border: 1px solid #ff0000;
background-color: #E5E5E5;
}
.form-box input.text
{
width: 100%;
height: 25px;
font-size: 90%;
color: #2F2F2F;
border: 1px solid #CCC;
background-color: #E9E9E9;
display: inline-block;
}
input.btn
{
color: #ccc;
background-color: #1B6DB2;
}
input
{
background-color: #E9E9E9;
}
.form-box .checkbox, .radio
{
position: relative;
top: 4px;
width: 20px;
height: 25px;
background-color:#CCC;
}
checkboxに隣接する要素はspan.wpcf7-list-item-labelなのでここに擬似要素を当てたわけだが、wpcf7のフォームを作るときに「承諾確認」ボタンを使用するとspan.wpcf7-list-item-labelが出力されないので擬似要素は効かない。
そこで通常の「テキスト」を使った。