【发布时间】:2016-01-19 18:14:20
【问题描述】:
如何确保文本调整其字体大小以防止其溢出静态的 50 像素导航栏?
我有一个初步的脚本,但它并不能真正起到作用。每次浏览器调整大小时,它只会将像素调整 1px,甚至没有考虑到有人直接进入移动设备:
window.onresize = function(){
var title = document.getElementById('testing');
var style = window.getComputedStyle(title, null).getPropertyValue('font-size');
var fontSize = parseFloat(style);
if(title.scrollHeight > 51){
title.style.fontSize = (fontSize - 0.5) + 'px';
$(title).height(50);
} else if (title.scrollHeight < 51) {
title.style.fontSize = (fontSize + 0.5) + 'px';
$(title).height(50);
}
};
【问题讨论】:
-
更可靠的方法是使用 CSS 媒体查询并为您的导航栏提供移动安全布局。
-
我不完全理解您要做什么,那么您的导航大小会根据屏幕大小而变化还是总是 50 x 50?那么您是否基本上希望您的文本根据其大小“填满”整个导航?
-
@NaturalLam,Nav 大小保持在 50px,但内部 div 的文本会根据数据库内容而变化。因此,如果内容过长,内容会溢出,导致该div的高度超过50px。 Nav 的溢出是隐藏的,因此该内容仅部分可见。由于这些原因,我认为单纯的 CSS 是行不通的,因为文本的初始大小也应该响应这个内部 div 中的文本长度。
标签: javascript jquery html css responsive-design