2017-10-20 6 views
0

ラジオボタンの間に約30pxの垂直スペースがあります。 margin-topmargin-bottom0pxは効果がありませんでした。どのようにして縦のスペースをなくすことができますか?ラジオボタンの垂直マージンを取り除くにはどうすればよいですか?

body { 
 
    margin: 2em; 
 
    font-family: Arial, Helvetica, sans-serif; 
 
} 
 

 
input[type="radio"] { 
 
    opacity: 0; 
 
} 
 

 
input[type="radio"]+label { 
 
    cursor: pointer; 
 
    border: 1px solid #ccc; 
 
    background: #efefef; 
 
    color: #aaa; 
 
    border-radius: 3px; 
 
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0); 
 
    display: block; 
 
    width: 200px; 
 
    height: 40px; 
 
    padding-left: 20px; 
 
    margin-top: 0px; 
 
    margin-bottom: 0px; 
 
} 
 

 
input[type="radio"]:checked+label { 
 
    background: #777; 
 
    border: 1px solid #444; 
 
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4); 
 
    color: white; 
 
    margin-top: 0px; 
 
    margin-bottom: 0px; 
 
}
<input id="Radio1" name="Radios" type="radio"> 
 
<label for="Radio1">I am option1</label> 
 
<input id="Radio2" name="Radios" type="radio" value="Option 2"> 
 
<label for="Radio2">I am option2</label> 
 
<input id="Radio3" name="Radios" type="radio" value="Option 3"> 
 
<label for="Radio3">I am option3</label>

View on JSFiddle

答えて

1

だけ実際のラジオボタンを非表示に流れ(absloute) https://jsfiddle.net/0d227oj6/1/

body { 
 
    margin: 2em; 
 
    font-family: Arial, Helvetica, sans-serif; 
 
} 
 

 
input[type="radio"] { 
 
    opacity: 0; 
 
    position:absolute;/* removed from the flow */ 
 
} 
 

 
input[type="radio"]+label { 
 
    cursor: pointer; 
 
    border: 1px solid #ccc; 
 
    background: #efefef; 
 
    color: #aaa; 
 
    border-radius: 3px; 
 
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0); 
 
    display: block; 
 
    width: 200px; 
 
    height: 40px; 
 
    padding-left: 20px; 
 
    margin-top: 0px; 
 
    margin-bottom: 0px; 
 
} 
 

 
input[type="radio"]:checked+label { 
 
    background: #777; 
 
    border: 1px solid #444; 
 
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4); 
 
    color: white; 
 
    margin-top: 0px; 
 
    margin-bottom: 0px; 
 
}
<input id="Radio1" name="Radios" type="radio"> 
 
<label for="Radio1">I am option1</label> 
 
<input id="Radio2" name="Radios" type="radio" value="Option 2"> 
 
<label for="Radio2">I am option2</label> 
 
<input id="Radio3" name="Radios" type="radio" value="Option 3"> 
 
<label for="Radio3">I am option3</label>

2

あなたの意図は、ラジオボタン自体を非表示にし、ちょうど目に見えるラベルを持って、そしてちょうどページフローからそれらを削除するにはposition: absoluteを適用する場合:

input[type="radio"] { 
    opacity: 0; 
    position: absolute; 
} 

https://jsfiddle.net/99b6pbz7/

1

から削除。

input[type="radio"] { 
    display: none; 
} 
関連する問題