遇到的小问题汇总

开个博记录一下平时遇到的一些小问题,以防忘记。

已解决

CSS问题

  1. 父容器中有一个长度不固定的子容器,如何让子容器在长度说不定会超过父容器的情况下自动居中?

  2. 如何用CSS解决文本溢出的问题?(文本截断)white-space: nowrap;overflow: hidden;text-overflow: ellipsis;

  3. 如何设置删除线/上下划线的颜色?父子元素

  4. 在顶部有个header的情况下,如何让header下面的部分高度顶到底,且不超出最大高度?

  5. 内联元素概念中的line-box:每行的高度(非行高)为line-box高度,高度是由它所有子元素的高度计算得出的,ine-box 的高度是从子元素的最高点到最低点的距离。content-area是由字体属性计算出来的(可以认为是background的范围)。

  6. 浏览器认为每个 line-box 的起始位置都有一个宽度为 0 的字符(CSS 文档将其称为 strut),并将其纳入 line-box 的高度的计算中。

  7. line-height:1.5与line-height:150%的区别:继承高度(父1.5)与继承算式(子150%)。

  8. input placeholder样式修改:::placeholder。实验性功能,在不同的浏览器上要加前缀,webkit和ms需要写成-webkit-input-placeholder,ie全系不支持。

JS问题

  1. 慎用for in循环!

  2. 在使用百度地图api时,地图组建放在一个会display:none的容器中,二次加载会只显示左上角一丢丢。不用display:none的容器,用别的方法隐藏(absolute、visibility等)

  3. 在ios safari里,绑定了点击事件的元素必须有cursor:pointer属性在才能够响应点击事件。。。。。。

  4. 发现的新坑:safari浏览器在获取动态赋值src的img图像宽高时(new Image()或者naturalHeight),怎么都是0。目前chrome没问题,其他浏览器待测试。

  5. safari不支持形似2018-10-10这类时间字符串,new Date()会解析不出来,要改成斜杠2018/10/10

  6. 经实测,ios8-不支持flex F**K!,ios8要用-webkit-flex

  7. vue中foo.sync会被解析成<comp :foo="bar" @update:foo="val => bar = val"></comp>,子组件更新值时还是要显式的出发事件this.$emit('update:foo', newValue)。也就是说子组件触发data更新的方法只有事件了。

  8. elementUI中table组件的toggleSelection方法接收到的row必须是table中的当前data里的row,因为element会给table里的所有东西加上一个私有id,id对不上row相等也是没办法的。这里也可能跟复杂数据结构的内存地址相关。

未解决

  1. WTForm中,validator所返回的提示信息(Flash)在哪里定义的?如何修改信息的语言与内容?

  2. 一个长度不固定的父容器,数量不固定个长度不固定的子容器,如何使它们做到无论有几个长度多少都能自动space-between的效果,并且同列数据还可以对齐?不用flex

  3. 如何完美适配移动端不同分辨率的横屏布局?



评论

暂无评论

在这里输入