web-dev-qa-db-fra.com

Comment puis-je changer la taille d'une case à cocher Bootstrap?

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:

enter image description here

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>
38
user3185936

Ou vous pouvez l'appeler avec des pixels.

 .big-checkbox {width: 30px; height: 30px;}
30
Rachel S
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;
}
13
SANA

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/

13
Companjo

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:

  1. 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.

  2. 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>
8
Artru

Je viens d'utiliser "enregistrer en zoom", dans l'exemple:

.my_checkbox {
    width:5vw;
    height:5vh;
}
2
Alex

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.

1
DropHit
<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; }
1
SANA