Reputation: 15
I want to know, why when I can select the two image and not only one. (is an image instead radio button). For example if you try to select the 2 images these appears selected but I want the possibility to select only one of them.
Look at the jsFiddle
or look at the Snippet below:
* {
margin: 0;
padding: 0;
}
.main {
position: relative;
z-index: 10;
padding-top: 60px;
color: #999;
width: 100%;
min-height: calc(100vh - 60px);
}
.wrap{position:relative}
.wrap{width:100%;margin:0 auto;max-width:1024px;padding:0 16px}
.write {
position: relative;
max-width: 690px;
padding: 40px 16px 70px;
}
.write-gender{
text-align: center;
}
.write-gender {
display: inline-block;
width: 128px;
height: 128px;
margin: 0 10px;
border: 5px solid transparent;
border-radius: 100%;
}
.form__label, h6 {
font-weight: 500;
font-size: 14px;
text-transform: uppercase;
}
.form__label, h4, h6 {
line-height: 1.2em;
margin-bottom: 20px;
}
h6 {
display: block;
font-size: 0.67em;
-webkit-margin-before: 2.33em;
-webkit-margin-after: 2.33em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
font-weight: bold;
}
.write-title {
text-align: center;
margin-top: 18px;
font-size: 13px;
margin-bottom: 60px;
position: relative;
left: 235px;
}
.gender-selector input{
-webkit-appearance:none;
-moz-appearance:button;
appearance:button;
margin:0;
padding:0;
}
.man{
background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png);
border-color: #1f6ab0;
position: relative;
left: 400px;
bottom: 80px;
display: block;
max-width: 100%;
}
.gender-selector:not(input:checked) input:active +.gen-sel{
opacity: .6;
}
.gender-selector input:checked +.gen-sel{
-webkit-filter: none;
-moz-filter: none;
filter: none;
}
.women{
background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/female1-512.png);
border-color: #b24592;
position: relative;
left: 60px;
top: 3px;
display: block;
max-width: 100%;
}
.gen-sel{
cursor:pointer;
display:inline-block;
width:100px;
height:70px;
background-size:contain;
background-repeat:no-repeat;
-webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
-moz-filter: brightness(1.8) grayscale(1) opacity(.7);
filter: brightness(1.8) grayscale(1) opacity(.7);
}
.gen-sel:hover{
-webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
-moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
filter: brightness(1.2) grayscale(.5) opacity(.9);
}
<main class="main ">
<div>
<div class="wrap write">
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
<div class="gender-selector">
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender2" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
</div>
</div>
</div>
</div>
</main>
Also I want to know other things:- I have created a database to store these information. The id is "gender", and in the html code in the input I have called one input with id --> gender and the other input with id --> gender2 on my PHP code I have match the id gender2 with the id gender by usign this --> " $gender2 =& $gender; " Is Right ?
Upvotes: 0
Views: 60
Reputation: 1
try this code...This will work perfectly for you..
<main class="main ">
<div>
<div class="wrap write">
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
<div class="gender-selector">
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
</div>
</div>
</div>
</div>
</main>
the name for the input type radio must be same.input type radio-w3schools
Upvotes: 0
Reputation: 109
Answer to first question: Grouped radiobuttons must have the same name, so just change the second radiobutton to:
<input id="gender2" type="radio" name="gender" value="m" />
Second question: I have no idea what you are asking. Please provide more information or code.
Upvotes: 0
Reputation: 9731
Use same name
attribute - gender
if you are using radio buttons, like:
<div class="gender-selector">
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
</div>
Have a look at the snippet below, or the updated fiddle.
* {
margin: 0;
padding: 0;
}
.main {
position: relative;
z-index: 10;
padding-top: 60px;
color: #999;
width: 100%;
min-height: calc(100vh - 60px);
}
.wrap{position:relative}
.wrap{width:100%;margin:0 auto;max-width:1024px;padding:0 16px}
.write {
position: relative;
max-width: 690px;
padding: 40px 16px 70px;
}
.write-gender{
text-align: center;
}
.write-gender {
display: inline-block;
width: 128px;
height: 128px;
margin: 0 10px;
border: 5px solid transparent;
border-radius: 100%;
}
.form__label, h6 {
font-weight: 500;
font-size: 14px;
text-transform: uppercase;
}
.form__label, h4, h6 {
line-height: 1.2em;
margin-bottom: 20px;
}
h6 {
display: block;
font-size: 0.67em;
-webkit-margin-before: 2.33em;
-webkit-margin-after: 2.33em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
font-weight: bold;
}
.write-title {
text-align: center;
margin-top: 18px;
font-size: 13px;
margin-bottom: 60px;
position: relative;
left: 235px;
}
.gender-selector input{
-webkit-appearance:none;
-moz-appearance:button;
appearance:button;
margin:0;
padding:0;
}
.man{
background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-512.png);
border-color: #1f6ab0;
position: relative;
left: 400px;
bottom: 80px;
display: block;
max-width: 100%;
}
.gender-selector:not(input:checked) input:active +.gen-sel{
opacity: .6;
}
.gender-selector input:checked +.gen-sel{
-webkit-filter: none;
-moz-filter: none;
filter: none;
}
.women{
background-image:url(https://cdn1.iconfinder.com/data/icons/user-pictures/100/female1-512.png);
border-color: #b24592;
position: relative;
left: 60px;
top: 3px;
display: block;
max-width: 100%;
}
.gen-sel{
cursor:pointer;
display:inline-block;
width:100px;
height:70px;
background-size:contain;
background-repeat:no-repeat;
-webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
-moz-filter: brightness(1.8) grayscale(1) opacity(.7);
filter: brightness(1.8) grayscale(1) opacity(.7);
}
.gen-sel:hover{
-webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
-moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
filter: brightness(1.2) grayscale(.5) opacity(.9);
}
<main class="main ">
<div>
<div class="wrap write">
<div class="write-gender">
<h6 class="write-title">Select gender</h6>
<div class="gender-selector">
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
</div>
</div>
</div>
</div>
</main>
Hope this helps!
Upvotes: 1
Reputation: 1792
your checkboxes need to have the same name attribute
<input id="gender" type="radio" name="gender" value="w" />
<label class="gen-sel write-gender women" for="gender"></label>
<input id="gender2" type="radio" name="gender" value="m" />
<label class="gen-sel write-gender man"for="gender2"></label>
Upvotes: 1