웹 페이지의 체크 박스 – 어떻게 더 크게 만들 수 있습니까?


114

대부분의 브라우저에서 렌더링되는 표준 체크 박스는 매우 작고 더 큰 글꼴을 사용해도 크기가 증가하지 않습니다. 더 큰 확인란을 표시하는 가장 좋은 브라우저 독립적 인 방법은 무엇입니까?

답변:


144

이것이 누구에게나 도움이 될 수 있다면 여기에 간단한 CSS가 있습니다. 토글 된 배경색을 사용하여 엄지 손가락에 충분히 큰 기본 둥근 정사각형으로 바꿉니다.

input[type='checkbox'] {
    -webkit-appearance:none;
    width:30px;
    height:30px;
    background:white;
    border-radius:5px;
    border:2px solid #555;
}
input[type='checkbox']:checked {
    background: #abd;
}
<input type="checkbox" />


@GabrielW 맞습니다. 그냥 다른 사람에 대한 동등한 사용
taylorcressy

@taylorcressy IE (또한 IE 11)를 제외하고 caniuse.com/#search=Appearance- 하지만 다른 브라우저에서는 잘 작동했습니다. 감사!
CodeBrauer 2014

16
너무 :) 틱 안쪽이 있다면 좋은 일 것입니다
로버트 왕

@Paul : 공유해 주셔서 감사합니다. 표시되는 체크 표시를 어떻게 처리하는지 궁금합니다. 배경을 색상으로 설정하면 상자의 흰색 확인 표시가 더 이상 보이지 않습니다. 쉬운 해결책이 있습니까? 난의 체크를위한 HTML 엔티티를 추가 시도했다 : 전에,하지만 궁금 대안이있는 경우
PBandJen

1
나는 체크 배경 색상에 대한 어두운 색상을 사용하고는 "체크"없이 그렇게 나쁘지 않다
JR Lawhorne

47

실제로 다른 것과 마찬가지로 확인란을 더 크게 만드는 방법이 있습니다 (페이스 북 버튼과 같은 iframe도 포함).

"확대 된"요소로 래핑합니다.

.double {
  zoom: 2;
  transform: scale(2);
  -ms-transform: scale(2);
  -webkit-transform: scale(2);
  -o-transform: scale(2);
  -moz-transform: scale(2);
  transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -o-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
}
<div class="double">
  <input type="checkbox" name="hello" value="1">
</div>

약간 "크기가 조정 된"것처럼 보일 수 있지만 작동합니다.

물론 div를 float : left로 만들고 그 외에 레이블을 float : left도 넣을 수 있습니다.


1
Firefox (버전 36 기준)에서는 매우 흐릿하게 보입니다. 하지만 Chrome에서는 잘 확장됩니다. 데모 : jsfiddle.net/tzp858j3
Kat

크기가 조정되지 않은 더 나은 솔루션이 없습니까?
basZero 2015-06-30

3
할 수 없습니다 zoom: 2transform: scale(2)직접 체크 박스에 적용? 래퍼가 필요한 이유는 무엇입니까?
Atav32

감사! 코드가 더 많은 브라우저를 고려한 것처럼 보이지만 테스트 할 수는 있지만 시도한 모든 것에서 작동합니다. 특히 체크 박스가 점이되는 아이폰에서 특히 좋습니다! BTW,이 스 니펫이 "2"를 표시하는 위치와 중간 크기 확인란의 경우 더 작은 부분 배율 (예 : 1.5)을 넣을 수 있습니다.
Randy

26

이 CSS를 사용해보십시오

input[type=checkbox] {width:100px; height:100px;}

2
완전히 크로스 브라우저는 아니지만 (HTML에서 클래스를 설정하고 CSS에서 클래스 선택기를 사용하는 것이 더 낫습니다.) 이것은 저보다 더 나은 솔루션 일 수 있습니다. +1
Harmen

1
예를 들어 너비와 높이를 사용했습니다. 아마도 Harmen과 내 솔루션의 조합은 CSS가 합리적으로 제공 할 수있는 것보다 더 많은 스타일링이 필요할 수 있으므로 갈 길입니다.
Collin White

6
이것은 일부 브라우저에서만 작동하며 많은 최신 브라우저에서는 작동하지 않습니다.
RJ Owen

1
이 기능은 사용자가 클릭하기 쉽도록 확인란이 더 커야하는 ipad safari에서 작동합니다.
user3032973 18:32에

3
주요 제한 사항은 Firefox (Firefox 36 기준)에서 전혀 작동하지 않으며 실제로는 매우 부자연스러워 보입니다 (확인란은 보통 크기이지만 그 주위의 패딩이 100 x 100px 영역을 채 웁니다.
Kat

5

나는 변화 시도 paddingmargin잘으로 width하고 height, 다음 마지막으로 당신은 단지 규모를 증가시킬 경우 작동합니다 발견 :

input[type=checkbox] {
    transform: scale(1.5);
}

1

다음은 IE8 이하를 지원하기 위해 자바 스크립트로 개선 할 수있는 CSS 전용 솔루션으로 최신 브라우저 (IE9 +)에서 작동하는 트릭입니다.

<div>
  <input type="checkbox" id="checkboxID" name="checkboxName" value="whatever" />
  <label for="checkboxID"> </label>
</div>

label확인란의 모양을 원하는 스타일로 지정

#checkboxID
{
  position: absolute fixed;
  margin-right: 2000px;
  right: 100%;
}
#checkboxID + label
{
  /* unchecked state */
}
#checkboxID:checked + label
{
  /* checked state */
}

자바 스크립트의 경우 라벨에 클래스를 추가하여 상태를 표시 할 수 있습니다. 또한 다음 기능을 사용하는 것이 좋습니다.

$('label[for]').live('click', function(e){
  $('#' + $(this).attr('for') ).click();
  return false;
});

#checkboxID스타일 을 수정하려면 편집


참조 stackoverflow.com/a/3772914/190135을 이 기술에 대한 전체 소스 코드에 대한 링크
AlexChaffee

1

저는 phonegap 앱을 작성하고 있으며 체크 박스는 크기, 모양 등이 다양합니다. 그래서 간단한 체크 박스를 만들었습니다.

먼저 HTML 코드 :

<span role="checkbox"/>

그런 다음 CSS :

[role=checkbox]{
    background-image: url(../img/checkbox_nc.png);
    height: 15px;
    width: 15px;
    display: inline-block;
    margin: 0 5px 0 5px;
    cursor: pointer;
}

.checked[role=checkbox]{
    background-image: url(../img/checkbox_c.png);
}

확인란 상태를 전환하기 위해 JQuery를 사용했습니다.

CLICKEVENT='touchend';
function createCheckboxes()
{
    $('[role=checkbox]').bind(CLICKEVENT,function()
    {
        $(this).toggleClass('checked');
    });
}

하지만 그것 없이는 쉽게 할 수 있습니다 ...

도움이되기를 바랍니다.


1

흐릿한 크기 조정이나 손쉬운 변형없이 순수 현대 2020 CSS 전용 결정. 그리고 진드기와 함께! =)

Firefox 및 Chromium 기반 브라우저에서 잘 작동합니다.

따라서 부모 블록을 설정하는 것만으로 체크 박스를 순전히 ADAPTIVE를 지배 할 수 font-height있으며 텍스트와 함께 커집니다!

input[type='checkbox'] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  outline: none;
  font-size: inherit;
  cursor: pointer;
  width: 1.0em;
  height: 1.0em;
  background: white;
  border-radius: 0.25em;
  border: 0.125em solid #555;
  position: relative;
}

input[type='checkbox']:checked {
  background: #adf;
}

input[type='checkbox']:checked:after {
  content: "✔";
  position: absolute;
  font-size: 90%;
  left: 0.0625em;
  top: -0.25em;
}
<label for="check1"><input type="checkbox" id="check1" checked="checked" /> checkbox one</label>
<label for="check2"><input type="checkbox" id="check2" /> another checkbox</label>

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.