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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

HTML

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

CSS

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

受付中

『ガチ初心者』ラジオボタンの表示・非表示機能とラジオボタンのデザインコードを両立させたい

EUZEU_TELOG
EUZEU_TELOG

総合スコア6

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

HTML

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

CSS

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

2回答

0評価

0クリップ

6701閲覧

投稿2017/04/04 01:28

###前提・実現したいこと
ガチ初心者です。
ラジオボタンを使ったコンテンツの表示・非表示をコピペして使用していた所ラジオボタンのデザインを変えたくて、そのデザインコードを記述したいのですが、デザインを変えるとラジオボタンの表示・非表示が上手く機能しません。両方を両立させるにはどうしたらいいのか教えてください。

###発生している問題・エラーメッセージ
ラジオボタンでコンテンツ表示・非表示

<form name="form4" action="#" method="POST"> <p> <input type="radio" name="hoge4_1" value="1" onClick="view_ch('hoge4_1')" checked="checked" /> 表示 <input type="radio" name="hoge4_1" value="0" onClick="view_ch('hoge4_1')" /> 非表示 </p> <div id="area_hoge4_1"> <p>ここを表示する</p> </div> <p> <input type="radio" name="hoge4_2" value="1" onClick="view_ch('hoge4_2')" checked="checked" /> 表示 <input type="radio" name="hoge4_2" value="0" onClick="view_ch('hoge4_2')" /> 非表示 </p> <div id="area_hoge4_2"> <p>ここを表示する</p> </div> </form> <script language="JavaScript" type="text/javascript"> <!-- function view_ch(elemid) { var elem4 = document.getElementById('area_' + elemid); form_elem4 = document.form4.elements[elemid]; var i; if (form_elem4.length) { for (i = 0; i < form_elem4.length; i++) { if (form_elem4[i].checked) { if(form_elem4[i].value == 1){ elem4.style.display = ""; }else { elem4.style.display = "none"; } } } } else { if (form_elem4.checked) { if(form_elem4.value == 1){ elem4.style.display = ""; }else { elem4.style.display = "none"; } } } } --> </script>

###該当のソースコード
ラジオボタンのデザインコード

<div class="container pt20"> <div class="row pt20"> <div class="col-xs-12"> <div class="form-group radio-wrap text-center"> <label class="label-radio"> <input type="radio" name="radio" /> <span class="lever">Choose.01</span> </label> <label class="label-radio"> <input type="radio" name="radio" /> <span class="lever">Choose.02</span> </label> <label class="label-radio"> <input type="radio" name="radio" /> <span class="lever">Choose.03</span> </label> </div> </div> </div> </div> /-------------------------------------------------------/ .pt20{ padding-top: 20px; }

.checkbox-wrap{
}
.label-checkbox input[type="checkbox"]{
display: none;
}
.label-checkbox{
cursor: pointer;

position: relative;
}
.label-checkbox .lever{
display: block;
color: #ccc;
font-weight: normal;
display: inline-block;
padding: 8px 40px;
border: 1px solid #e5e5e5;
border-radius:20px;
margin-right: 10px;
margin-bottom: 10px;
-webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
transition: all 300ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox .lever:before{
content:'';
position: absolute;
left: 4px;
top:4px;
border: 1px solid #e5e5e5;
background: #fff;
width: 30px;
height: 30px;
border-radius:100%;
-webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
transition: all 300ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox:hover .lever:before{
border-color: #ddd;
}
.label-checkbox input[type="checkbox"]:checked + .lever{
background: #5cb85c;
color: #fff;
}
.label-checkbox input[type="checkbox"]:checked + .lever{
border-color:#5cb85c;
}
.label-checkbox input[type="checkbox"]:checked + .lever:before{
left: 100%;
margin-left: -44px;
border-color: #fff;
}

.radio-wrap{

}
.label-radio input[type="radio"]{
display: none;
}
.label-radio{
cursor: pointer;
color: #828c9a;
font-weight: normal;
letter-spacing: 0;
display: inline-block;
position: relative;
margin-right: 20px;
}
.label-radio .lever:before{
content:'';
border: 1px solid #ddd;
width: 20px;
height: 20px;
margin-right: 10px;
display: inline-block;
vertical-align: middle;
border-radius:10px;
-webkit-transition: all 800ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 800ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 800ms cubic-bezier(1, 0, 0, 1);
transition: all 800ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:before{
opacity: 0;
background: #eee;
border-color: #eee;
transform:scale(2);
}
.label-radio .lever:after{
content:'';
opacity: 0;
position: absolute;
left: 8px;
top: 0px;
width:8px;
height: 16px;
border-right: 2px solid #ddd;
border-bottom: 2px solid #ddd;
transform:rotate(-200deg);
-webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
-moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
-o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
transition: all 400ms cubic-bezier(1, 0, 0, 1);
-webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
-o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:after{
opacity: 1;
position: absolute;
left: 8px;
top: 0px;
width:8px;
height: 16px;
border-right: 2px solid #5bc0de;
border-bottom: 2px solid #5bc0de;
transform:rotate(40deg);
}

###試したこと
nameとかidとかclassを一緒にしてみたりしましたが初心者すぎて調べても解らなかったのでここに質問させていただきました。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

kei344

2017/04/04 18:11

質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

ラジオボタン

ラジオボタンはフォームに使われる要素のひとつであり、ユーザに限られた選択肢からひとつの答えを選んでもらうというものです。

HTML

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

CSS

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