防止CSS网页布局错位 CSS宽度计算

  发布时间:2012-10-12 12:02:30   作者:佚名   我要评论
计算网页像素宽度是为了CSS网页布局整齐与兼容。常见的我们布局左右结构网页或使用padding、margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题
为什么计算宽度
计算网页像素宽度是为了CSS网页布局整齐与兼容。常见的我们布局左右结构网页或使用padding、margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题。

怎么计算CSS宽度
例一:我们计算一个左右结构的布局样式。
假如总宽度为400px,那么左右加起来就应当小于400px,那我们可能左边为300px,右边为100px
正确代码:

复制代码
代码如下:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右结构宽度计算www.jb51.net</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:300px; background:#CCC;}
.you{ float:right; width:100px; background:#999}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左边300px</div>
<div class="you">右边100px</div>
</div>
</body>
</html>

以上为正确的左右结构总宽度刚好等于400px

错误:
假如我们在总宽度不变情况下,左边为300px,而右边为120px那总宽度超过了20px,我们看看会出现什么问题,DIV+CSS代码如下:

复制代码
代码如下:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右结构宽度计算www.jb51.net</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:300px; background:#CCC;}
.you{ float:right; width:120px; background:#999}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左边300px</div>
<div class="you">右边100px</div>
</div>
</body>
</html>

我们根据上图可看出因为总宽度大约了20px,所以导致了左右结构不能平齐,就出现了右边往下掉。
这样就出现了错位的兼容问题,一般在实际中因为我们计算的疏忽,一般相差小的时候是1px-2px,那样就不会被我们发现,所以排除错位兼容可以从宽度计算入手。

例二:左右结构中有1px边框实例
一般左右结构中有1px边框,然后再加上有些边框这时我们设置左右结构时候就需要将此边框宽度与左右结构宽度计算在一起。
正确例子:
CSS与html代码如下:

复制代码
代码如下:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右结构宽度计算www.jb51.net</title>
<style type="text/css">
.webjxcom{width:400px;}
.zuo{ float:left; width:298px; border:1px solid #F00; background:#CCC;}
.you{ float:right; width:98px; background:#999; border:1px solid #F00;}
</style>
</head>
<body>
<div class="webjxcom">
<div class="zuo">左边300px</div>
<div class="you">右边100px</div>
</div>
</body>
</html>

因左右结构都有1px的宽度这个时候各需要减去左右2像素的边框宽度,所以左边最后是298px,右边为98px的宽度

如果不减去边框将会造成一下效果:

DIV+CSS设置百分比宽度计算
有时候我们也需要使用百分比来计算宽度,通常情况也是总的百分比宽度,不能超过100%

CSS宽度计算时候注意总结:
无论是左右结构、多列的布局还是单独一个DIV宽度的布局设置都需要注意宽度的把握与计算,特别是使用了padding、margin、边框等CSS属性,这个时候我们都需要将它们设置的占用宽度计算入内,牢牢把握同排各宽度之和小于或等于总宽度,如果大于总宽度将会出现错位的兼容问题。所以一般错位时我们就可以从计算宽度入手,当然错位还有很多原因这里也是解决错位兼容问题的方法之一。

相关文章

  • css九宫格布局的五种方法

    本文主要介绍了css九宫格布局的五种方法,内容包括grid布局、flex布局、table布局、float浮动定位、inline-block+letter-spacing属性这五种方法的实现,感兴趣的可以了解下
    2023-09-18
  • CSS实现元素水平垂直居中的几种方法

    在Web开发中,经常会遇到需要将元素水平和垂直居中的情况,今天,将为大家分享几种CSS方法,让你的元素轻松居中,让页面更美观吸引人,感兴趣的小伙伴可以自己动手试一试
    2023-09-08
  • css实现元素居中的6种方法

    相信大家在面试的时候也会经常碰到css实现元素居中的方法,下面我介绍6种方法给大家,欢迎大家评论区交流
    2023-09-07
  • flex布局中使用flex-wrap实现换行的项目实践

    最近需要做个换行的布局,本文主要介绍了flex布局中使用flex-wrap实现换行的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
    2022-06-16
  • CSS布局之浮动(float)和定位(position)属性的区别

    今天看到有朋友留言问浮动和定位有什么区别,如何使用?今天找了篇文章,讲的比较通俗易懂,供大家参考
    2021-09-23
  • css实现元素居中的N种方法

    这篇文章主要介绍了css实现元素居中的N种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • div水平布局两边对齐的三种实现方法

    这篇文章主要介绍了div水平布局两边对齐的三种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起
    2021-01-21
  • waterfall瀑布流布局+动态渲染的实现

    这篇文章主要介绍了waterfall瀑布流布局+动态渲染的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起
    2021-01-19
  • 页面中有间隔的方格布局如何完美实现方法

    这篇文章主要介绍了页面中有间隔的方格布局如何完美实现方法。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来
    2020-11-27
  • css实现六种自适应两栏布局方式

    这篇文章主要介绍了css实现六种自适应两栏布局方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习
    2020-10-28

最新评论