ute nte
ute nte

Reputation: 15

Fix html and css code

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

Answers (4)

amey kajarekar
amey kajarekar

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

Plasm
Plasm

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

Saurav Rastogi
Saurav Rastogi

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

jbe
jbe

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

Related Questions