dengal3 / log

record daily bugs :p
0 stars 0 forks source link

2016-05-25-css-bugs-record #3

Open dengal3 opened 8 years ago

dengal3 commented 8 years ago

一个是有关负边距带来的问题,一个是checkbox,radio之类的input要设置不允许修改,但readonly属性无效的问题。

终于来填坑了。

负magin后遗症

我之前会用负边距来调整容器位置,这次发现当容器width:50px, margin-left:-100px, 容器右边会有margin出现,即使并没有设置margin-right。可见margin-left为负值且绝对值大于宽度时,会影响到正常的margin计算,导致“右边产生了margin”这样的假象。

checkbox的readonly无效

我们要实现一个常见的电影票订票网页,其中有个页面是选择座位页面,当然我们需要备注提示什么样的图标代表可选,已选,还有已售的座位。这些备注是不能被修改的。

但是checkbox的readonly是无效的,就是你即使设了,淘气的用户还是可以点点点toggle checkbox的状态。解决方法也也很简单。

    <input type="checkbox" onclick="return false;"/>

即可。由于一般这种场景下,这些备注一般也不会绑定什么事件,所以这么写我觉得还是可以的。

以上。