Vous vous demandez s'il est possible de changer la taille de la case à cocher, comme c'est possible avec les boutons. Je veux que ce soit plus gros, alors ça facilite les choses. À l'heure actuelle, il ressemble à ceci:
Code:
<div class="form-group">
<label class="col-md-7 control-label">Kalsiumklorid: </label>
<div class="col-md-5" >
{{ Form::checkbox('O_Kals_Klor', 1 , array('class' => 'form-control' )) }}
</div>
</div>
Ou vous pouvez l'appeler avec des pixels.
.big-checkbox {width: 30px; height: 30px;}
input[type=checkbox]
{
/* Double-sized Checkboxes */
-ms-transform: scale(2); /* IE */
-moz-transform: scale(2); /* FF */
-webkit-transform: scale(2); /* Safari and Chrome */
-o-transform: scale(2); /* Opera */
padding: 10px;
}
C'est possible en css, mais pas pour tous les navigateurs.
L'effet sur tous les navigateurs:
http://www.456bereastreet.com/lab/form_controls/checkboxes/
Une possibilité est une case à cocher personnalisée avec javascript:
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/
Il est possible d'implémenter la case à cocher personnalisée bootstrap) pour les navigateurs les plus populaires de nos jours.
Vous pouvez vérifier mon Bootstrap-Checkbox projet dans GitHub, qui contient simple . Less file . Il existe un bon article dans MDN décrivant certaines techniques, les deux principales étant:
Label redirige un événement de clic.
Label peut rediriger un événement click vers sa cible s'il possède l'attribut for
comme dans <label for="target_id">Text</label> <input id="target_id" type="checkbox" />
, ou si elle contient une entrée telle que Bootstrap cas: <label><input type="checkbox" />Text</label>
.
Cela signifie qu'il est possible de placer une étiquette dans un coin du navigateur, de cliquer dessus, puis l'étiquette redirigera l'événement click vers la case à cocher située dans l'autre coin en produisant une action cocher/décocher pour la case à cocher.
Nous pouvons masquer la case d'origine visuellement , mais assurez-vous qu'elle fonctionne toujours et en prenant l'événement de clic du libellé . Dans l'étiquette elle-même, nous pouvons émuler une case à cocher avec une balise ou un pseudo-élément :before :after
.
Balise non prise en charge générale pour les anciens navigateurs
Certains anciens navigateurs ne supportent pas plusieurs fonctionnalités CSS telles que la sélection de frères et soeurs p+p
ou recherche spécifique input[type=checkbox]
. Selon l’article MDN, les navigateurs qui prennent en charge ces fonctionnalités prennent également en charge :root
Sélecteur CSS, les autres non. Le :root
sélecteur sélectionne simplement l'élément racine d'un document, qui est html
dans une page HTML. Ainsi, il est possible d'utiliser :root
pour un retour aux anciens navigateurs et aux cases à cocher d'origine.
Extrait de code final:
:root {
/* larger checkbox */
}
:root label.checkbox-bootstrap input[type=checkbox] {
/* hide original check box */
opacity: 0;
position: absolute;
/* find the nearest span with checkbox-placeholder class and draw custom checkbox */
/* draw checkmark before the span placeholder when original hidden input is checked */
/* disabled checkbox style */
/* disabled and checked checkbox style */
/* when the checkbox is focused with tab key show dots arround */
}
:root label.checkbox-bootstrap input[type=checkbox] + span.checkbox-placeholder {
width: 14px;
height: 14px;
border: 1px solid;
border-radius: 3px;
/*checkbox border color*/
border-color: #737373;
display: inline-block;
cursor: pointer;
margin: 0 7px 0 -20px;
vertical-align: middle;
text-align: center;
}
:root label.checkbox-bootstrap input[type=checkbox]:checked + span.checkbox-placeholder {
background: #0ccce4;
}
:root label.checkbox-bootstrap input[type=checkbox]:checked + span.checkbox-placeholder:before {
display: inline-block;
position: relative;
vertical-align: text-top;
width: 5px;
height: 9px;
/*checkmark arrow color*/
border: solid white;
border-width: 0 2px 2px 0;
/*can be done with post css autoprefixer*/
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
content: "";
}
:root label.checkbox-bootstrap input[type=checkbox]:disabled + span.checkbox-placeholder {
background: #ececec;
border-color: #c3c2c2;
}
:root label.checkbox-bootstrap input[type=checkbox]:checked:disabled + span.checkbox-placeholder {
background: #d6d6d6;
border-color: #bdbdbd;
}
:root label.checkbox-bootstrap input[type=checkbox]:focus:not(:hover) + span.checkbox-placeholder {
outline: 1px dotted black;
}
:root label.checkbox-bootstrap.checkbox-lg input[type=checkbox] + span.checkbox-placeholder {
width: 26px;
height: 26px;
border: 2px solid;
border-radius: 5px;
/*checkbox border color*/
border-color: #737373;
}
:root label.checkbox-bootstrap.checkbox-lg input[type=checkbox]:checked + span.checkbox-placeholder:before {
width: 9px;
height: 15px;
/*checkmark arrow color*/
border: solid white;
border-width: 0 3px 3px 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<p>
Original checkboxes:
</p>
<div class="checkbox">
<label class="checkbox-bootstrap">
<input type="checkbox">
<span class="checkbox-placeholder"></span>
Original checkbox
</label>
</div>
<div class="checkbox">
<label class="checkbox-bootstrap">
<input type="checkbox" disabled>
<span class="checkbox-placeholder"></span>
Original checkbox disabled
</label>
</div>
<div class="checkbox">
<label class="checkbox-bootstrap">
<input type="checkbox" checked>
<span class="checkbox-placeholder"></span>
Original checkbox checked
</label>
</div>
<div class="checkbox">
<label class="checkbox-bootstrap">
<input type="checkbox" checked disabled>
<span class="checkbox-placeholder"></span>
Original checkbox checked and disabled
</label>
</div>
<div class="checkbox">
<label class="checkbox-bootstrap checkbox-lg">
<input type="checkbox">
<span class="checkbox-placeholder"></span>
Large checkbox unchecked
</label>
</div>
<br/>
<p>
Inline checkboxes:
</p>
<label class="checkbox-inline checkbox-bootstrap">
<input type="checkbox">
<span class="checkbox-placeholder"></span>
Inline
</label>
<label class="checkbox-inline checkbox-bootstrap">
<input type="checkbox" disabled>
<span class="checkbox-placeholder"></span>
Inline disabled
</label>
<label class="checkbox-inline checkbox-bootstrap">
<input type="checkbox" checked disabled>
<span class="checkbox-placeholder"></span>
Inline checked and disabled
</label>
<label class="checkbox-inline checkbox-bootstrap checkbox-lg">
<input type="checkbox" checked>
<span class="checkbox-placeholder"></span>
Large inline checked
</label>
Je viens d'utiliser "enregistrer en zoom", dans l'exemple:
.my_checkbox {
width:5vw;
height:5vh;
}
J'ai utilisé cette bibliothèque avec succès
http://plugins.krajee.com/checkbox-x
Il nécessite jQuery et bootstrap 3.x
Téléchargez le zip ici: https://github.com/kartik-v/bootstrap-checkbox-x/zipball/master
Placez le contenu du zip dans un dossier de votre projet.
Pop les libs nécessaires dans votre en-tête
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<link href="path/to/css/checkbox-x.min.css" media="all" rel="stylesheet" type="text/css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script src="path/to/js/checkbox-x.min.js" type="text/javascript"></script>
Ajoutez les contrôles de données à l'élément en utilisant data-size = "xl" pour modifier la taille comme indiqué ici http://plugins.krajee.com/cbx-sizes-demo
<label for="element_id">CheckME</label>
<input type="checkbox" name="my_element" id="element_id" value="1" data-toggle="checkbox-x" data-three-state="false" data-size="xl"/>
Il existe de nombreuses autres fonctionnalités si vous naviguez sur le site du plugin.
<div id="rr-element">
<label for="rr-1">
<input type="checkbox" value="1" id="rr-1" name="rr[]">
Value 1
</label>
</div>
//do this on the css
div label input { margin-right:100px; }