1 谷歌中默认蓝色边框
按钮
和input
在谷歌
中会有一个默认蓝色边框,由于我用的是bootstrap
,所以我这边直接就btn
的总样式改了,还有加了input
的选中样式修改。
1 | input,.btn{ |
2 自动填充的背景色
自动填充
的文本框
默认有个黄色背景
,由于chrome
浏览器默认的给自动填充的文本框添加了背景样式属性
1 |
|
3 文本自动换行
做网页的时候,我们很经常碰到文本的显示,通常来说,文本太长就会很难看,可以用CSS控制文本自动换行。
方法一:你定死盒子的宽度,即给盒子一个宽度值(是数值,不是百分比)
方法二:强制不换行
1 | div{ |
- 方法三:自动换行
1 | div{ |
- 方法四:强制英文单词断行
1 | div{ |
4 table-cell设置宽度无效
简洁版
table
中有多行的情况下,其中某行的中tr
中td
在人工设置宽度的前提下,宽度之和超过了其他tr
的宽度,这个时候,设置的宽度会无效,解决办法是设置table
的table-layout
为fixed
。
1 | table { |
啰嗦版
前期有个功能需求,需要table
中tbody
滚动的时候,thead
不动,所以我在请求到后台数据之后,将thead
中的内容放到一个table
中,设置默认不滚动,设置每个th的display
为table-cell
,将tbody
中的内容放到一个table
中,放上页面结构。
1 | <div class="bootstrap-table"> |
由于fixed-table-header
和fixed-table-body
中的table
是相对独立的,所以我写了一个方法让两个table
的每个td
尽量保证一样的宽度,方法很烂,就是遍历fixed-table-body table tr(0)
中从第一列到倒数第二列td
的宽度,对应绑到fixed-table-header table tr
的th
中去。
1 | var o_header = $(".fixed-table-header table tr th"); //获取header部分的th |
前期项目加载的字段列比较少,没有出什么问题,但是有个地方部署项目之后,而且用的是比较小尺寸的笔记本,在字典中给这个table
设置了很多列,而且每列对应的内容还比较多,fixed-table-body table
中出现了横向滚动条,所以布局一下乱套了,我突然发现我给fixed-table-header table tr
的th
设置宽度没有用了,因为这个时候,我给所有th
设置的宽度总和超过了一个tr
的宽度,fixed-table-header table
就不干了,说这不行,认为是出了异常,所以就忽略了我的宽度,很尴尬,我由于平时对table
不怎么在意,所包含的属性值不太熟,所以一下有点懵。
后来发现了这个css
属性table-layout
,这个是table
的一个属性,有三个可选值inherit|auto|fixed
。
属性值 | 含义 |
---|---|
inherit | 继承父级设置 |
auto(自动算法) | 布局将基于各单元格的内容。表格在每一单元格读取计算之后才会显示出来,速度很慢,就是让table 自己判断,超出一行tr 长度之后,就不管单个td 宽度设置,不满足实际需求。 |
fixed(固定布局的算法) | 在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度,而和表格内容无关。也就是说,内容可能被裁切,设置为fixed 会保证每一个td 的宽度加起来不会超过一行tr 的宽度。 |