Fonts 如何防止用户在我的网站上调整字体大小?

Fonts 如何防止用户在我的网站上调整字体大小?,fonts,accessibility,Fonts,Accessibility,如何防止用户在我的网站上调整字体大小?你不能。字体大小调整发生在客户端,您完全无法控制。用户可以随意增减字体大小 如果你担心你的页面标记会在较大的字体大小下被破坏,那么干脆忽略它。没有办法创建一个或多或少复杂的设计,以适应任何可能的字体大小变化。如果用户选择使用它,那么如果标记损坏,最终是他们的错。但他们可能已经习惯于看到破损的页面 无论如何,现代版本的浏览器(如FireFox、Opera)只需缩放呈现的页面,保持元素的相对比例不变。问题解决了。你不能那样做。开发人员无权调整浏览器的“缩放”控件

如何防止用户在我的网站上调整字体大小?

你不能。字体大小调整发生在客户端,您完全无法控制。用户可以随意增减字体大小

如果你担心你的页面标记会在较大的字体大小下被破坏,那么干脆忽略它。没有办法创建一个或多或少复杂的设计,以适应任何可能的字体大小变化。如果用户选择使用它,那么如果标记损坏,最终是他们的错。但他们可能已经习惯于看到破损的页面


无论如何,现代版本的浏览器(如FireFox、Opera)只需缩放呈现的页面,保持元素的相对比例不变。问题解决了。

你不能那样做。开发人员无权调整浏览器的“缩放”控件。此外,“字体”将根据不同的屏幕分辨率而有所不同(例如,如果字体大小以像素为单位)

事实上,出于可访问性的原因,您应该允许字体大小调整。

如何将文本转换为图像。

以PDF格式发布。正如其他人所说,HTML不是作为印刷媒体设计的

英国法律规定,您不应提供限制残疾人访问的网站/服务

从1999年10月1日起,服务提供者必须采取合理措施改变一种做法,这种做法使残疾人难以合理地利用其服务

虽然这项法律没有得到执行,但它被视为“专门提到网站的业务守则”

这只是一个“实践准则”,并不是每个人都遵守它。

我想你真正想要的是保持图像与文本的比例不变,因为你的客户坚持要求用户获得一致、固定的布局(即使你试图告诉他这不是网络的工作方式)


在这种情况下,一个简单的解决方法是在CSS中以
px
单位指定字体大小。这样,用户仍可以使用浏览器的缩放功能,但15px字体与150px图像的关系将始终保持不变,与用户的字体大小或dpi设置无关。

以像素为单位指定字体大小。不过我不推荐。

从技术上讲,你不能,但你可以做的是:

  • 将所有内容重新创建到flash站点
  • 将flash嵌入站点时,禁用放大或右键单击菜单。(只需谷歌如何禁用右击菜单,非常简单,类似“allow menu=false”
  • 就是这样。大多数用户现在无法调整字体大小,除非他们知道如何破解=)

    如果您: 1.有很多时间 2.想尝试新事物吗 3.不要介意浪费你的时间和精力(lol)

    两个选项:

  • 将所有文本制作成图像

  • 检测浏览器字体大小更改和基本字体(当它们到达您的站点时),然后动态调整字体大小以补偿其更改

  • 以下是字体大小检测器的javascript:

    现在,您需要做的就是向侦听器附加一个resize函数,并用id“bodyContent”将所有标记环绕在一个div中(这样字体事件侦听器就不会捕获您的补偿函数:

    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 ChromeSafari的用户调整渲染字体的大小。以下方法是为了完整性和提高认识而提供的。请避免使用这种方法,因为它严重违反了可用性和可访问性准则

    p{
    -webkit文本大小调整:无;
    }
    
    根据这一点,该扩展是为移动设备设计的,但不幸的是,它进入了功能强大的桌面浏览器

    它是非标准的,因此必须使用前缀。Firefox和IE的相应扩展名
    -moz text size adjust
    -ms text size adjust
    的行为是适当的

    此外,还有关于该问题的日志记录


    例如:

    在许多网站上都有这种可怕的滥用行为,就是这样一种情况


    在Safari或Chrome中查看上述链接,当前不允许通过Ctrl+[Lin/Win]或⌘+[OS X]

    你想这样做的问题是什么?那些讨厌的用户。总是想让东西更容易阅读……使用图像,从谷歌的索引中消失。(估计有0人会错过那里的页面。)在任何现代浏览器中,图像都可以调整大小。你有没有想过如何阻止人们将头部移近屏幕,即使你保持字体大小不变,这会使字体看起来更大?那么可访问性呢?这是一个很好的答案,从一开始就不是一个好问题。这对于这个问题,s是一个很好的答案,那么为什么投反对票呢?@lewap:downpoitted的原因与“我怎么能谋杀我的邻居?”这个问题的“很好的答案”是一样的