Fonts 如何防止用户在我的网站上调整字体大小?
如何防止用户在我的网站上调整字体大小?你不能。字体大小调整发生在客户端,您完全无法控制。用户可以随意增减字体大小 如果你担心你的页面标记会在较大的字体大小下被破坏,那么干脆忽略它。没有办法创建一个或多或少复杂的设计,以适应任何可能的字体大小变化。如果用户选择使用它,那么如果标记损坏,最终是他们的错。但他们可能已经习惯于看到破损的页面Fonts 如何防止用户在我的网站上调整字体大小?,fonts,accessibility,Fonts,Accessibility,如何防止用户在我的网站上调整字体大小?你不能。字体大小调整发生在客户端,您完全无法控制。用户可以随意增减字体大小 如果你担心你的页面标记会在较大的字体大小下被破坏,那么干脆忽略它。没有办法创建一个或多或少复杂的设计,以适应任何可能的字体大小变化。如果用户选择使用它,那么如果标记损坏,最终是他们的错。但他们可能已经习惯于看到破损的页面 无论如何,现代版本的浏览器(如FireFox、Opera)只需缩放呈现的页面,保持元素的相对比例不变。问题解决了。你不能那样做。开发人员无权调整浏览器的“缩放”控件
无论如何,现代版本的浏览器(如FireFox、Opera)只需缩放呈现的页面,保持元素的相对比例不变。问题解决了。你不能那样做。开发人员无权调整浏览器的“缩放”控件。此外,“字体”将根据不同的屏幕分辨率而有所不同(例如,如果字体大小以像素为单位) 事实上,出于可访问性的原因,您应该允许字体大小调整。如何将文本转换为图像。以PDF格式发布。正如其他人所说,HTML不是作为印刷媒体设计的英国法律规定,您不应提供限制残疾人访问的网站/服务 从1999年10月1日起,服务提供者必须采取合理措施改变一种做法,这种做法使残疾人难以合理地利用其服务 虽然这项法律没有得到执行,但它被视为“专门提到网站的业务守则” 这只是一个“实践准则”,并不是每个人都遵守它。我想你真正想要的是保持图像与文本的比例不变,因为你的客户坚持要求用户获得一致、固定的布局(即使你试图告诉他这不是网络的工作方式)
在这种情况下,一个简单的解决方法是在CSS中以
px
单位指定字体大小。这样,用户仍可以使用浏览器的缩放功能,但15px字体与150px图像的关系将始终保持不变,与用户的字体大小或dpi设置无关。以像素为单位指定字体大小。不过我不推荐。从技术上讲,你不能,但你可以做的是:
addFontResizeListener = function () {
var iBase, reloadBoolean;
iBase = addEventListener(lzaIndex.onFontResize, null);
//Don't run the updateBaseFontSize if font size is not larger than usual
if (iBase > 20) {
reloadBoolean = false;
updateBaseFontSize(iBase, reloadBoolean);
}
};
//id of element to check for and insert control
TextResizeDetector.TARGET_ELEMENT_ID = 'bodyContent';
//function to call once TextResizeDetector has init'd
TextResizeDetector.USER_INIT_FUNC = addFontResizeListener;
onFontResize = function (e, args) {
var iSize, reloadBoolean;
iSize = args[0].iSize; //get new user defined size
reloadBoolean = true;
updateBaseFontSize(iSize, reloadBoolean);
};
然后添加重新调整本身:
updateBaseFontSize : function (fontSize, reloadBool) {
/*Format 1 is fed from the plugin; format2 is the body size equiv
*examples:
*Frmt 1 (all/IE) | Frmt 2 (all/IE)
*20/18 | 16px/16px
*21/21 | 17.6px/19px
*22/23 | 19.2px/22px
*
*Purpose of updateBaseFontSize is:
* 1. convert format 1 figures to format 2
* 2. modify the all containing div 'fontbodyreadjust'
* to compensate for the new user defined body font size
*/
var format1Base, format1Size, reloadPage, baseConverter, changeConverter,
format2Base, format2SizeChange, format2NewSize, modifiedSize;
format1Size = fontSize; //equals new size in pixels
reloadPage = reloadBool; //prevents reload on 1st visit
if ($('body').hasClass('browserIE')) {
format1Base = 19; //expected base size value for IE
baseConverter = 16 / 19; //converts from format 1 to 2 for IE
changeConverter = 1.5; //ditto for the difference from base size for IE
} else {
format1Base = 20;//expected base size value for all other browsers
baseConverter = 16 / 20; //converts from format 1 to 2 for all others
changeConverter = 1.6; //ditto for the difference from base size for all others
}
//Find modifiedSize, how much to compensate for the new body size
format2Base = format1Base * baseConverter;
format2SizeChange = (format1Size - format1Base) * changeConverter;
format2NewSize = format2SizeChange + format2Base;
modifiedSize = format2Base / format2NewSize;
//Allow text resizing for shrinking text and very very large text
//Only works for safari. meant to prevent odd behavior at math extremes
jFontBodyReadjust = $('#fontbodyreadjust');
if ((format2NewSize >= format2Base) && (modifiedSize > 0.6)) {
jFontBodyReadjust.css('font-size', modifiedSize + 'em');
}
//reloadPage boolean in place so that reload doesn't occur on first visit
if (reloadPage) {
window.location.reload();
}
}
记住:为那些看不到您定义的字体大小的人提供一个备选方案。这是正确的做法。您可以在if(iBase>20)
另外,请记住,您可以在ems中指定所有元素宽度(图像等),以便“字体大小”可以调整所有内容,但这有点混乱,必须对不同的浏览器解释进行补偿,并且您不能使用精灵(因为ems只会显示您想要的更多精灵部分)
PSS。在px中指定对现代浏览器没有任何好处……我不知道为什么这似乎是一个流行的答案。虽然通常是个坏主意,但情况并不像前面提到的那样清楚 截至目前(2012年9月),目前可以阻止Google Chrome和Safari的用户调整渲染字体的大小。以下方法是为了完整性和提高认识而提供的。请避免使用这种方法,因为它严重违反了可用性和可访问性准则
p{
-webkit文本大小调整:无;
}
根据这一点,该扩展是为移动设备设计的,但不幸的是,它进入了功能强大的桌面浏览器
它是非标准的,因此必须使用前缀。Firefox和IE的相应扩展名-moz text size adjust
和-ms text size adjust
的行为是适当的
此外,还有关于该问题的日志记录
例如: 在许多网站上都有这种可怕的滥用行为,就是这样一种情况
在Safari或Chrome中查看上述链接,当前不允许通过Ctrl+[Lin/Win]或⌘+[OS X]你想这样做的问题是什么?那些讨厌的用户。总是想让东西更容易阅读……使用图像,从谷歌的索引中消失。(估计有0人会错过那里的页面。)在任何现代浏览器中,图像都可以调整大小。你有没有想过如何阻止人们将头部移近屏幕,即使你保持字体大小不变,这会使字体看起来更大?那么可访问性呢?这是一个很好的答案,从一开始就不是一个好问题。这对于这个问题,s是一个很好的答案,那么为什么投反对票呢?@lewap:downpoitted的原因与“我怎么能谋杀我的邻居?”这个问题的“很好的答案”是一样的