我通过获取DOM的ID在DOM主体中应用了字体大小,但是某些子元素中没有复制字体大小。
此外,我需要知道是否通过外部CSS应用元素中的字体大小,这可能是一个问题吗?
在代码中,当用户单击以保存设置然后调用redirectToPreferences()且#ulMainMenu,#dropDownMenuItems是应应用字体大小的元素的ID
如果我误解了任何技术概念,请详细说明
function setFontInPreference(data) {
//data will be font size in % like 100%, 120% etc
var percentage = data //$("#hdnFontPercentage").val();
var font = (percentage / 100) * 14;
var body = document.getElementById('bodywrapper'); //body has Id = bodywrapper
body.style.fontSize = font + "px";
}
function redirectToPreferences() {
hideLoader();
$.ajax({
type: "GET",
url: '/Administration/GetFontSize',
async: true,
cache: false,
beforeSend: function () {
showGridLoader();
},
success: function (data) {
if (data != null && data != 'undefined' && data != '') {
setFontInPreference(data);
$("#ulMainMenu").html('');
$("#dropDownMenuItems").html('');
$("#dvSubMenu").html('');
$("#dvQuickLinks").html('');
getMainMenu();
//setFont();
}
else {
hideGridLoader();
}
},
complete: function () {
hideGridLoader();
},
});
ScrollPageToTop();
}
//This is called in Master Script
function setFont() {
debugger;
var percentage = $("#hdnFontPercentage").val();
var font = (percentage / 100) * 14;
var body = document.getElementById('bodywrapper');
body.style.fontSize = font + "px";
})
}
答案 0 :(得分:0)
表单控件(例如输入,选择等)不会自动继承字体属性。您必须通过分配font: inherit
让它们显式继承它们。
在下面的演示中,有两种相同的形式:
:root
的字体属性,如<label>
所示。 #A
中,它的表单控件仍具有默认字体属性。 #B
中,它已显式声明了输入,并选择继承font:inherit
的字体属性。因此,请全局应用font: inherit
,并将默认字体属性应用于:root
。另外,如果您使用font-size
度量单位,则在:root
(或html
)上定义了font-size
会给您带来强大的吸引力,而您可以使用rem
度量单位是相对的。
:root {
font: 700 16px/1.1 Consolas
}
form {
font-size: 1.5rem
}
#B input, #B select {
font: inherit
}
<form id='A'>
<label>Test</label>
<select>
<option>Test</option>
<option>Test</option>
</select>
<input value='Test'>
<input type='submit'>
</form>
<form id='B'>
<label>Test</label>
<select>
<option>Test</option>
<option>Test</option>
</select>
<input value='Test'>
<input type='submit'>
</form>
答案 1 :(得分:0)
在子代的属性名称中添加继承值。