【问题标题】:ASP.NET changing style in DIV tagASP.NET 更改 DIV 标记中的样式
【发布时间】:2011-01-03 14:27:54
【问题描述】:

我正在为一家光学公司开发一个网站。该公司与患有轻微视力障碍到严重视力障碍的人合作,其中一些人需要特殊设备才能查看网页。

由于不同的客户需求,我们计划提供一个选项,允许客户端在查看时选择(存储在 cookie 中,与 ASP.NET 复选框挂钩的选项),这将使将页面上的文字放大并删除一些不需要的图片。

文字大小在DIV标签中设置,样式“font-size:##”。我想做的就是当复选框未被选中时,页面将使用正常大小,并且当检查它时,ASP.NET页面将更改为更大的字体。我不确定如何通过服务器端调用更改 DIV 标记(客户端)。

关于如何做到这一点的任何想法?

其他地方的一个人建议我在服务器端动态创建 div 标签 (Response.Write()),但如果有其他方法,我不想使用它。似乎在需要时会增加开销。

谢谢,

【问题讨论】:

    标签: asp.net html font-size


    【解决方案1】:

    为什么你需要做那个服务器端? 我会进行客户端调用,捕获检查更改并使用 javascript 和 jQuery 更改 div 元素中的字体大小。

    您也可以使用 jQuery 使其变得非常简单。

    <div><input type="checkbox" onclick="toggleFontSize(this)" /> Change Font Size</div>
    
    <div id="myDiv" style="font-size: 10px;">
    Testing my new font size
    </div>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>     
    <script type="text/javascript">
        function toggleFontSize(obj){ 
           if(obj.checked){
              $('myDiv').css('font-size', '20px'); // jQuery selector here
           }else{
              $('myDiv').css('font-size', '10px'); // jQuery selector here
           }
        }
    </script>
    

    【讨论】:

    • 没关系,但是改用css类:)
    • 如果我们使用 javascript,我们如何保存 cookie如果客户端稍后没有回发调用? 你能用客户端代码保存一个 cookie。我对 javascript/jQuery 不是很熟悉,因为在我的项目中我不必对它进行太多回复。
    • 客户端javascript中的cookie以后在服务器端调用中是否可以读写? cookie 实际上是在服务器端设置的,在这种情况下需要通过 javascript 调用来读取。
    【解决方案2】:

    您可以将div 设置为runat="server" 分配一个ID 并在服务器端与之交互。或者您可以通过javascript在客户端立即更改大小并等待帖子记录选项。

    【讨论】:

    • 如果可能的话,我会使用 javascript 和 cookie 解决方案。内联样式也有些蹩脚,并且可能会在未来引起问题(例如,内联样式会自动覆盖所有 css 规则)。改用 CSS 类。
    猜你喜欢
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多