개발중인 양식 플러그인의 일부인이 맞춤식 선택 메뉴에서 작업하고 있습니다. 내 CSS에서크롬과 다른 모든 브라우저 사이의 2px 차이 'outerHeight()`
나는 이런 식으로 뭔가를했습니다 :
.qval-select span {
font-size: 15px;
display: block;
padding: .3em .8em;
cursor: pointer;
}
span
사용자 정의 선택 메뉴에서 항목입니다.
어느 시점에서 나는 해당 항목의 outerHeight()
을 알아야하고 계산을해야합니다. 내가 겪고있는 문제는 Chrome이 높이가 25px
이고 모든 다른 브라우저 (IE8, IE9, Firefox)가 27px
이라고보고한다는 것입니다. 재미있는 점은 크롬 만 내가 원하는 번호를 얻고있는 것 같습니다.
http://spacirdesigns.com/idealforms/ :
가 무슨 뜻인지 확인하려면 여기 예를 업로드했습니다.사용자 지정 선택 메뉴를 열고 위쪽 및 아래쪽 화살표로 스크롤 할 때 문제가 있음을 알 수 있습니다. 보시다시피, Chrome을 제외한 모든 브라우저는 2 개의 추가 픽셀을 계산하여 모든 것을 망칠 것입니다.
콘솔을 열면 높이의 로그를보고 다른 브라우저와 비교할 수 있습니다.
span
에 대해 높이를 설정하면 사용자 정의 선택의 아름다움은 많은 크기에 적응할 수 있으므로 em
이 필요합니다. 나는 또한 글꼴을 em
으로 설정하고 글꼴을 변경하려고했지만 아무 것도하지 않았다.
누군가 여기서 무슨 일이 일어나고 있는지, 왜 말해 줄 수 있습니까? 그것은 나를 미치게합니다.
scrollToItem: function() {
// Select.sub.scrollTop(0);
var idx = Select.items.find('.selected').parent().index(),
height = Select.items.outerHeight(),
items = Select.items.length,
allHeight = height * items,
curHeight = height * (items - idx);
console.log(height);
Select.sub.scrollTop(allHeight - curHeight);
},
그래, 이런 식이어야합니다. 하지만 Chrome은 왜 25px 만보고하고 다른 모든 것은 27 가지만보고합니까? Chrome은 내가 원하는 가치를 제공하는 유일한 도구입니다. 이것을 px로 설정하지 않고 다른 방법으로? – elclanrs
예. 크기에 관계없이 계정을 작성하는 방식으로 코딩해야합니다. Chrome에서 확대/축소를 시도하면 EM이 변경됩니다 (그래도 계속되지만). EM은 브라우저에 따라 다르며 다를 수 있으므로 제공하는 정보 만 사용하십시오. 일단 당신이 가지고 있으면 가치로 무엇을하고 있습니까? – DanRedux
'scrollToItem()'을 계산 중입니다. 편집을 참조하십시오 ... – elclanrs