CSS float 定位和缩放问题

简介:

今天调试一个看起来很简单的前端问题,但却花了太多的时间,示例代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <div>
        <div style="width:10%; float:left; height:200px;background-color:aqua"></div>
        <div style="background-color:antiquewhite;float:right; width:90%;">
            <table style="width:100%">
                <thead>
                    <tr>
                        <td style="width:10%; text-align: center;"><b>状态</b></td>
                        <td style="width:50%; text-align: center;"><b>标题</b></td>
                        <td style="width:10%; text-align: center;"><b>浏览量</b></td>
                        <td style="width:20%; text-align: center;"><b>发布时间</b></td>
                        <td style="width:10%; text-align: center;">&nbsp;<b>操作</b></td>
                    </tr>
                </thead>
                <tbody>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

效果:

435188-20160325163916761-1553481809.png

上面是我们一般设计后台使用的代码和样式,左边是菜单区域,右边是内容操作区域,但左边菜单区域因为分辨率或窗口大小进行了缩放,也就是菜单变形了,现在要求左边菜单固定宽度不拉伸,右边内容操作区域可以进行缩放,所以,我们改了下面的代码:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <div>
        <div style="width:144px; float:left; height:200px;background-color:aqua"></div>
        <div style="background-color:antiquewhite;">
            <table style="width:100%">
                <thead>
                    <tr>
                        <td style="width:10%; text-align: center;"><b>状态</b></td>
                        <td style="width:50%; text-align: center;"><b>标题</b></td>
                        <td style="width:10%; text-align: center;"><b>浏览量</b></td>
                        <td style="width:20%; text-align: center;"><b>发布时间</b></td>
                        <td style="width:10%; text-align: center;">&nbsp;<b>操作</b></td>
                    </tr>
                </thead>
                <tbody>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

效果:

435188-20160325220148511-1835881270.png

这个我花了很多时间进行调整,不是表格宽度超过内容区域,就是宽度不够,某个界面下调整了,但伸缩下界面,宽度又乱了,后来无意间调整了一下样式,就可以了,代码如下:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <div>
        <div style="width:144px; float:left; height:200px;background-color:aqua"></div>
        <div style="background-color:antiquewhite; margin-left:144px">
            <table style="width:100%">
                <thead>
                    <tr>
                        <td style="width:10%; text-align: center;"><b>状态</b></td>
                        <td style="width:50%; text-align: center;"><b>标题</b></td>
                        <td style="width:10%; text-align: center;"><b>浏览量</b></td>
                        <td style="width:20%; text-align: center;"><b>发布时间</b></td>
                        <td style="width:10%; text-align: center;">&nbsp;<b>操作</b></td>
                    </tr>
                </thead>
                <tbody>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                    <tr bgcolor="#ffffff">
                        <td align="center">
                            <span>已发布</span>
                        </td>
                        <td>
                            <a href="http://www.cnblogs.com/xishuai/" target="_blank" class="big">田园里的蟋蟀</a>
                        </td>
                        <td style="text-align: center;">0</td>
                        <td style="text-align: center;">2016-03-17 15:26</td>
                        <td style="text-align: center;">修改 删除</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

主要改进是在右侧内容区域增加margin-left:144px样式,并且宽度要和菜单区域的宽度一致,缩放效果:

435188-20160325220751854-1305265272.png





本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/css-float-margin-left.html,如需转载请自行联系原作者

相关文章
|
3月前
|
前端开发
CSS float(浮动)
CSS float(浮动)
31 2
|
4月前
|
前端开发
CSS改变图标颜色(filter一行代码解决hover变换颜色问题)
CSS改变图标颜色(filter一行代码解决hover变换颜色问题)
50 0
|
7月前
|
前端开发
css图片在区域里缩放
css图片在区域里缩放
|
8月前
|
前端开发
css--float浮动
css--float浮动
|
9月前
|
前端开发 容器
如何使用 CSS 来控制 img 标签在父元素中自适应宽度或高度,并按比例显示
如何使用 CSS 来控制 img 标签在父元素中自适应宽度或高度,并按比例显示
301 1
|
前端开发
css中如何在一行计算固定宽度和自适应宽度
css中如何在一行计算固定宽度和自适应宽度
77 0
|
前端开发
CSS设置标签、图片,放大、缩小、旋转、移动、倾斜(transform)
CSS设置标签、图片,放大、缩小、旋转、移动、倾斜(transform)
|
前端开发 容器
CSS之我是一个浮动元素(float)
大家好,我是一个浮动元素,我在CSS王国中是一个很重要的角色,也许你们现在在工作中很少见到我的身影,因为我的flex兄弟和position定位兄弟在大部分情况下可以取代我,但是我还是想详细的介绍一下我自己,毕竟我曾经也是一个在前端开发中随处可见的明星人物。
118 0
CSS之我是一个浮动元素(float)
CSS3 transform 2D转换之移动 旋转 缩放(详细讲解看完就会)
CSS3 transform 2D转换之移动 旋转 缩放(详细讲解看完就会)
119 0
CSS3 transform 2D转换之移动 旋转 缩放(详细讲解看完就会)
|
前端开发 JavaScript UED
CSS 技巧一则 -- 不定宽溢出文本适配滚动
CSS 技巧一则 -- 不定宽溢出文本适配滚动
210 0
CSS 技巧一则 -- 不定宽溢出文本适配滚动