jquery - div 元素上的文本溢出

标签 jquery html css

我正在尝试创建示例文档并希望在单击“中”和“大”按钮时增加字体大小。

当我点击“medium”按钮时我没有任何问题但是当我点击“large”按钮时 字体大小与其他 div 重叠。

问题 1. 为什么我加大font-size后文字会重叠?

<!DOCTYPE html>
<html>

    <head>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
        </script>

        <script>
            $(document).ready(function(){

                $("#switcher-medium").click(function(){
                    alert('This is medium');
                    //$('body').removeClass();
                    $('body').addClass('medium');
                });

                $("#switcher-large").click(function(){
                    alert('This is large');
                    //$('body').removeClass();
                    $('body').addClass('large');
                });

            });
        </script>

        <style>
            body{
                background-color:white;
            }

            #header-1st{
                height:30px;
                width:70%;
                float:left;
            }

            #switcher-control{
                height:30px;
                width:30%;
                float:left;
            }
            .medium{
                font-size: 1.5em;
            }

            .large{
                font-size: 2.5em;
            }

        </style>

    </head>

    <body>

        <div id="main-container">
            <div id="header-1st">
            </div>
            <div id="switcher-control">
            <button id="switcher-default"> 
                Default
            </button>
            <button id="switcher-medium"> 
                Medium
            </button>
            <button id="switcher-large"> 
                Large
            </button>
            </div>
            <div id="content">
            This is a test page and you can increase the font-size by clicking the default, medium and large on top corner.
            </div>
        </div>

    </body>

</html>

最佳答案

LIVE DEMO

只需从顶部元素中删除 height:30px;

这就是你所需要的:

#header-1st{
  width:70%;
  float:left;
}
#switcher-control{
  float:left;
  width:30%;
}

JS:

var sizes = [1, 1.5, 2.5];  
$("#switcher-control button").click(function(){
    var i = $(this).index();
    $('body').css({fontSize: sizes[i]+"em"});
});

对于这个 HTML

<div id="main-container">

  <div id="header-1st">HEADER</div>  
  <div id="switcher-control">
        <button>Default</button>
        <button>Medium</button>
        <button>Large</button>
  </div>

 <div id="content">
        This is a test page and you can increase the font-size by clicking the default, medium and large on top corner.
 </div>

</div>

关于jquery - div 元素上的文本溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21104995/

相关文章:

html - 如何让div按列换行?

jquery every 防止警报循环

jquery - 记住刷新后哪个选项卡处于事件状态

javascript - 为ajax post创建jquery数组

javascript - 仅在 IE9 上出现 JS 错误 "Object expected"

javascript - 第二次点击时执行不同的代码(JavaScript)

javascript - 使用 html 和 css 的背景颜色

html - Bootstrap 表单列未与非表单列对齐?

javascript - HTML5 'required' 表单重置时留下无效的伪类

javascript - Angular 1.3 动画在 Firefox 中不起作用