텍스트 좌우 가운데 맞춤을 위한 CSS 노트
7669 단어 HTMLJavaScriptCSS
select text-align:center가 작동하지 않음
select
라벨의 문자를 좌우로 가운데로 하고 싶어요.text-align: center;
유효하지 않음백분율
text-indent
을 지정하면 들여쓰기글자 수가 확실하지 않으면 좋지 않다.
무리한 방법이긴 한데.
미리 select의 텍스트 자체를 투명하게 하고 select와 같은 폭의
p
에 같은 텍스트를 넣고 그 안에 text-align:center
를 넣는 샘플입니다.샘플 프레젠테이션
Codepen
http://codepen.io/skwbr/pen/JYGQLv
코드
html
<div class="btn-select">
<p class="label">選択してください</p>
<select class='select'>
<option value=''>選択してください</option>
<option value='1'>選択肢1</option>
<option value='2'>選択肢2</option>
<option value='3'>選択肢3</option>
</select>
</label>
</div>
시작p는 select 위에 놓고pointer-events: none;
클릭을 뒷면(select)으로 보내지만 IE 10 이전pointer-events
에는 작동하지 않는 것 같아서 opacity로select
를 투명하게 하고 클릭을 받으면 뒷면의 p를 볼 수 있다.css
body {
text-align: center;
}
.btn-select {
width: 300px;
margin: 20px auto;
position: relative;
background: #333;
border-radius: 6px;
cursor: pointer; /* IEでcursorがチラついたので */
}
.label {
color: #fff;
position: absolute;
width: 100%;
z-index: 1;
}
.select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
cursor: pointer;
width: 100%;
border: none;
padding: 20px;
opacity: 0;
position: relative;
z-index: 2;
}
/* IE10以上で矢印を消す */
.select::-ms-expand {
display: none;
}
/* フォーカス時 */
.select:focus {
z-index: -1;
opacity: 1;
}
탭이 변하지 않는 단추를 사용할 때 JS가 필요하지 않습니다select와 마찬가지로 onchange로 탭을 바꾸려면 JS를 사용하십시오.
js
// selectと同じようにonchangeでラベルを変えたいときはJSを用いる
$('.select').on('change', function(){
var $this = $(this)
var $option = $this.find('option:selected');
$('.label').text($option.text());
// onchange後にフォーカスしてるのが嫌な場合
$this.blur();
});
웹 접근성 문제도 있지만하나의 예로 소개하다.
출전/참조
"CSS pointer-events (for HTML) | Can I use..."
http://caniuse.com/#feat=pointer-events
"CSS만
Reference
이 문제에 관하여(텍스트 좌우 가운데 맞춤을 위한 CSS 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/skwbr/items/658a690e90392106497d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)