我有一个文字输入。我想改变焦点上的字体大小,并获得模糊的旧值。例如,聚焦时默认值为14和10。但是当我这样做时,整个输入的大小正在改变。如何避免?
更新: 任务并不那么容易。如果我不知道旧的宽度和高度怎么办?我没能使用JQuery获取它们。
答案 0 :(得分:2)
输入的默认大小取决于字符大小。为避免这种情况,您必须以绝对单位指定输入的宽度和高度,例如像素。
答案 1 :(得分:2)
您可以将 width
和height
样式属性分配给input
元素,例如:
input {
width: 150px;
height: 32px;
}
请务必使用px
而不是em
。 : - )
Live example - 适用于IE6(!),Firefox 9和Chrome 15,它们表明了相当程度的兼容性。
更新:
相同的主体,但如果你想查询宽度和高度,现在你告诉我们你正在使用jQuery:
CSS:
input {
font-size: 14pt;
}
JavaScript的:
jQuery(function($) {
var target = $("#target"),
width = target.width(),
height = target.height();
target.css({
width: width + "px",
height: height + "px"
});
target.focus(function() {
this.style.fontSize = "10pt";
});
target.blur(function() {
this.style.fontSize = "";
});
});
Live example - 与上面的一样,适用于IE6,Firefox 9和Chrome 15。
答案 2 :(得分:1)
jQuery示例:http://jsfiddle.net/5DyNE/
<强> HTML 强>
<input type="text" class="foo" id="bar" />
<强> CSS 强>
#bar {
width: 100px;
height: 15px;
}
<强> JS 强>
var oldSize;
$('#bar').focus(function () {
oldSize = $(this).css('font-size');
$(this).css('font-size', 20);
});
$('#bar').blur(function () {
$(this).css('font-size', oldSize);
});
答案 3 :(得分:0)
您还必须设置输入的固定宽度和高度,并且无论输入是否具有焦点,都要保持相同。
自问题修改后进行编辑:
如果您使用JavaScript完成所有操作,则可以获得输入的初始计算宽度和高度,并将其指定为内联CSS。当你这样做时,你可以很好地修改字体大小。
答案 4 :(得分:0)
要解决此问题,您需要明确定义输入的高度,然后定义font-size。例如:
input{
height:14px;
font-size:10px;
}