HTML前端样式踩坑记【持续更新】

前言:一个小白在写前端代码过程中遇到的各种样式兼容问题记录

超长文本不自动换行超出边框的问题

需求:做一个展示错误日志的页面,相当简单,把后台返回的一大坨日志,合理格式化换行符号后展示在前端。但对于一句没有任何空格的超长文本,前端未自动换行,导致超出边框展示。

文本超出边框展示

而有空格的长文本,可以在空格处换行,可见前端是有默认换行动作的,但为了保证文本可读性,不会轻易断开连续文本。

解决:添加 word-wrap: break-word; 属性,该属性会先尝试把超长的部分放到下一行展示,如果还是展示不开就强制单词内断句。

缩略图table,点击图片蒙板展示大图时,表格边框透过蒙板展示到顶层,特别难看

需求:在一个table中,某个cell中是一张缩略图,点击后展示大图,此时蒙板挡住后面页面,但样式问题出现了,底层表格外边框透过蒙板展示到顶层了,很难看


边框展示层级异常

解决:CSS样式层级的问题,在大图展示的div的样式表中添加如下属性即可:

z-index: 999; /*值越大越在顶层*/

配合z-index的使用,要同时配置position属性,absolute、relative或fixed都可以。

空数组居然不空?

js中定义了一个数组 var a=[],在其他代码处会判定这个变量是否为空来做一些出来,然而if(a!=[]) 永远为true,深究了下原因发现,对js的变量机制还是不熟悉。

[] 在js中就相当于new Array(),这是一个新对象给了新的空间,a!=[]实际比较的是两个对象的地址,而非内容,因此当然永远为true。因此要用其他方法判定,比如:

JSON.stringify(a) === '[]'

a.length === 0

+a === 0

但比较保险的还是参考了网上的一个方法:

function isEmptyObject(e) {

    var t;

    for(t in e) {

        return !1;

    }

    return !0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 11,455评论 2 66
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,454评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 10,162评论 0 0
  • 我是一个喜欢买书的人,可能是因为小时候太穷,只能眼巴巴地看着别人翻着各种各样的课外书籍。 大概,那时心中就...
    俞然思阅读 1,625评论 0 1
  • by 影秋千 上海和上海的朋友 | 我不想过一眼看到头的生活 和我一起在阜阳读书的闺蜜清是上海人,因为父母下乡她从...
    影秋千阅读 1,769评论 0 0

友情链接更多精彩内容