IE对百分比宽度的理解。。。貌似很囧

本文探讨了Internet Explorer浏览器在处理百分比宽度布局时与Firefox存在的差异,特别是当多个等宽元素浮动时出现的计算误差问题。

布局的时候貌似发现ie对百分比的宽度计算有点问题,Google之。果然。。。

 

http://www.liehuo.net/a/200908/237911.html 写道
IE与firefox对百分比宽度解析存在细小差异,假设一个DIV宽度800px。里面有8个字DIV等宽依次浮动,可以这么写。
以下为引用的内容:
.out{width:777px;}
.out .in{width:12.5%; height:20px; float:left;}


  html代码:
以下为引用的内容:
<div class="out">
<div class="in"></div><div class="in"></div><div class="in"></div><div class="in"></div><div class="in"></div><div class="in"></div><div class="in"></div><div class="in"></div>
</div>



  照我们的理解:12.5% * 8正好为100%嘛!所以内部8个DIV的宽度一起浮动总宽度应该正好等于外部DIV的宽度的。

  ok,想法毕竟是想法,而事实上:火狐下是这样子,但是IE,不好意思,不是这样的。

  这里我没有计算,数据或许有不准,但是原理是实践过滴。

  IE算百分比的时候完全取整的。

  777px*12.5%=97.125

  IE会取整,于是为97px,8个累加就是776px,结果总长少了1px。

  同样的,如果外部DIV宽度为772,则

  772 * 12.5%=96.5px,取97px,结果776px,总长长了4px。

  这是我在写自适应页面时遇到的一个比较头疼的问题。问题原因是知道了,如何解决还没有想到很好的方法。

  firefox下表现很好。IE,叹息!
 
### 在 ECharts 柱状图中设置百分比宽度、最小宽度和最大宽度的配置方法 在 ECharts 中,柱状图的宽度可以通过 `barWidth`、`barMaxWidth` 和 `barMinWidth` 这三个属性进行配置。以下是对这些属性的具体说明和使用方法: #### 1. 设置柱状图的百分比宽度 通过 `barWidth` 属性可以设置柱状图的宽度为固定值或百分比。如果需要设置为百分比,则表示该柱条占当前类目宽度的比例。例如,将柱条宽度设置为类目宽度的 50%。 ```javascript option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', barWidth: '50%' // 设置柱条宽度为类目宽度的 50% }] }; ``` #### 2. 设置柱状图的最大宽度 通过 `barMaxWidth` 属性可以限制柱状图的最大宽度。此属性支持设置为固定像素值或百分比。例如,将最大宽度设置为 30px 或类目宽度的 60%。 ```javascript option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', barMaxWidth: '60%' // 设置柱条最大宽度为类目宽度的 60% }] }; ``` #### 3. 设置柱状图的最小宽度 通过 `barMinWidth` 属性可以设置柱状图的最小宽度。此属性仅支持固定像素值。例如,将最小宽度设置为 10px。 ```javascript option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', barMinWidth: 10 // 设置柱条最小宽度为 10px }] }; ``` #### 注意事项 - 如果未明确指定 `barWidth`,ECharts 会根据图表的布局自动调整柱条宽度[^1]。 - 当柱条宽度受到 `barMaxWidth` 和 `barMinWidth` 的限制时,实际宽度将在这些限制范围内动态调整[^2]。 - 在实际应用中,若图表显示异常(如文字显示不全),可以通过调整容器宽度或明确设置柱条宽度来解决问题[^3]。 #### 示例代码 以下是一个综合示例,展示如何同时设置柱状图的百分比宽度、最小宽度和最大宽度: ```javascript option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar', barWidth: '40%', // 设置柱条宽度为类目宽度的 40% barMaxWidth: '60%', // 设置柱条最大宽度为类目宽度的 60% barMinWidth: 10 // 设置柱条最小宽度为 10px }] }; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值