sass实战演练08 - 做一个有逼格的table(2)
来源:互联网 发布:淘宝批量评价软件 编辑:程序博客网 时间:2024/06/05 13:21
前一篇我们的表格还有很多问题,这里我们继续优化。
td直接有难看的间距
常规的方法可以加:
<table class="table table-border" cellspacing="0">
css里怎么实现呢?
border-spaceing:0
今天的需求
定义一个样式,鼠标移动到表格行上会变色
原生实现很简单:
.table-hover-gray>tbody>tr:hover{ background-color: #dddddd;}
scss的写法:
// 定义数组$table-hover-gray:();@each $key,$value in $table { // 追加到数组 $table-hover-gray:append($table-hover-gray,".table-hover-gray>#{$key}>#{nth($value,1)}:hover",comma)}#{$table-hover-gray} { background-color: #dddddd;}
编译成css的代码:
.table-hover-gray > thead > tr:hover, .table-hover-gray > tbody > tr:hover, .table-hover-gray > tfoot > tr:hover { background-color: #dddddd; }
当然到现在我们这个表格还是很low,很难看的,我们应该美化一下td
.table tr th, .table tr td { padding: 12px; line-height: 24px; border-top: 1px solid #dddddd; }
我们在scss里编写代码实现这个效果:
$table-padding:();@each $key,$value in $table { $table-padding:append($table-padding,".table>#{$key}>#{nth($value,1)}>#{nth($value,2)}",comma)}#{$table-padding}{ padding: 12px; line-height: 24px; border-top: 1px solid #dddddd;}
编译成css如下:
.table > thead > tr > th, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 12px; line-height: 24px; border-top: 1px solid #dddddd; }
至此,完整的table.scss如下:
.table{ width: 100%; margin-top: 20px;}.table-border{ border: 1px solid gray;}/*.table>thead>tr>th,.table>tbody>tr>td,.table>tfoot>tr>td{ border: 1px solid gray;}*/$table:( "thead":("tr","th"), "tbody":("tr","td"), "tfoot":("tr","td"));// 把数组拼接为字符串@function implode($list,$split){ $result : ""; @each $item in $list{ @if $result != ''{ $result:"#{$result}#{$split}" } $result:"#{$result}#{$item}" } @return $result;}// 循环添加边框样式@each $key,$value in $table{ .table-border>#{$key}>#{implode($value,'>')}{ // 继承样式 @extend .table-border }}// 定义数组$table-hover-gray:();@each $key,$value in $table { // 追加到数组 $table-hover-gray:append($table-hover-gray,".table-hover-gray>#{$key}>#{nth($value,1)}:hover",comma)}#{$table-hover-gray} { background-color: #dddddd;}$table-padding:();@each $key,$value in $table { $table-padding:append($table-padding,".table>#{$key}>#{nth($value,1)}>#{nth($value,2)}",comma)}#{$table-padding}{ padding: 12px; line-height: 24px; border-top: 1px solid #dddddd;}
0 0
- sass实战演练08 - 做一个有逼格的table(2)
- sass实战演练07 - 做一个有逼格的table(1)
- sass实战演练04 - 响应式处理(2):最外层container的响应式宽度写法
- 重读网峰实战演练---做Linux/Android驱动很好的一个中文文档
- sass实战演练06 - 把布局拆分为12列(2):拆分和偏移
- sass实战演练01 - 外部文件引用和变量
- sass实战演练02 - 嵌套、mixin、变量计算、颜色函数
- 编码套路的实战演练
- 循环语句的实战演练
- sass实战演练03 - 响应式处理(1):变量模板、mixin实战用法
- 原因分析与解决方案的实战演练
- 实战演练隐式Intent的用法
- sass实战演练05 - 把布局拆分为12列(1):函数、字符串拼接、集合函数append
- samba3.0实战演练
- 实战演练Autotools
- dojo实战演练
- leetcode 实战演练
- OpenStack实战演练
- 2016 年青岛网络赛题解
- 回调函数
- [PAT] A1064
- Linux软连接和硬链接
- 跳出当前循环
- sass实战演练08 - 做一个有逼格的table(2)
- warning C4996: 'fopen': This function or variable may be unsafe.(_CRT_SECURE_NO_WARNINGS)
- Spark学习笔记(二)-弹性分布式数据集RDDs
- 分而治之 求子序列最大和
- c++读取以逗号为分隔符的一串数字
- caffe源码解析 — caffe.proto
- 【NOIP2016提高A组模拟9.17】小a的强迫症
- Sencha EXTJS6的 Eclipse 插件安装指南
- hdu5884 二分+排序