直接上图,需要用CSS3实现这样的效果
1.html部分
html这里需要一个  标签包含  之后每组字都是自己的  之所以是div是需要给每组字限定大小。
1
2
3
4
5
6
7
8
9
10
11<ul>
          <li class = "li_title"><div>公司名称</div><div>区域占有率</div><div>主营产品</div><div>来源</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
          <li class = "li_list"><div>公司名称公司名称公司名称公司名称公司名称</div><div>公司名称</div><div>公司名称</div><div>公司名称</div></li>
        </ul>
2.CSS部分
2.1 li背景
这里的li分为两部分,标题部分和其他行,这里如果用less的话就非常方便,less以后会在less专题中说,这里还是用css1
2
3
4
5
6
7.li_title{
  margin-left: -50px; //内边距向左50
  height: 30px; //每行高30px
  list-style-type : none; //去掉li前面的·
  background-color: rgb(46,154,254,0.6); //设置背景颜色,并且透明度为0.6
  border-radius:10px; //拐角度为10px
}
后面的行无非就是改个颜色1
2
3
4
5
6
7
8.li_list{
  margin-left: -50px;
  height: 30px;
  margin-top: 15px;
  list-style-type : none;
  background-color: rgb(28,28,28,0.6);
  border-radius:10px;
}
2.2 文字特效
这里的特效就是多余的文字变成…
直接代码讲解吧1
2
3
4
5
6
7
8
9
10ul div{
  color : #FFFFFF; //文字颜色白色
  font-size : 18px; //字体大小18px
  float:left; //文字靠左浮动
  margin-left: 8%; //左边距为8%,也就是每个字之间的间距
  width:110px;  //规定div大小,也就是文字框大小(主要)
  white-space:nowrap; //规定文字不能换行(主要)
  overflow:hidden;  //规定多余的文字隐藏(主要)
  text-overflow:ellipsis; //规定文字超出的话···(主要)
}
这些之后图片的效果就回显现
3.左侧按钮特效
直接上图,需要用CSS3实现这样的效果
要实现这个效果首先要在左面定义一个
3.1左侧div_html
1  | <div class = "menu">  | 
3.2.左侧CSS样式
首先是menu的样式1
2
3
4
5
6.menu{
  width: 13%;  //定义宽度
  height: 736px; //定义高度
  float:left; //浮动到左侧
  transform:skew(0deg,20deg); //敲黑板划重点,倾斜,两个参数,这里是沿着x轴向下倾斜20度
}
之后设定ul样式,这个样式没有什么好说的1
2
3
4
5.menu ul {
  float:left;
  margin-top: 25%;
  margin-left: -20%;
}
再之后设置li样式,划重点1
2
3
4
5
6
7
8
9
10
11
12
13
14.menu li {
  width: 100%; //li宽度
  height: 100px; //高度
  margin-top: 5%; //内置上边距
  color : #FFFFFF; //颜色(字体)
  font-size : 20px; //字体大小
  border:1px solid #ffffff; //边界线粗细为1px。边界线颜色为白色
  list-style-type : none; //不显示·
  float:left; //左浮动
  display: flex; //(划重点)用flex布局,这样设置里面字居中
  align-items:center; // 上下居中
  justify-content: center;// 左右居中
  cursor: pointer; //鼠标经过变成手指
}
未被选择的li需要一个透明的背景色,如同前面一样,直接上代码1
2
3.menu_select{
  background-color: rgb(110,110,110,0.3);
}
3.3实现点击切换效果js
循环ul的children,如果和点击的li相同则删除menu_select样式,否则添加menu_select样式1
2
3
4
5
6
7
8
9
10
11
12$(".menu li").on('click', function() {
      for (let child of $(".menu ul").children()) {
        if(child.innerHTML != this.innerHTML){
          $(child).addClass("menu_select");
          $("#"+child.attributes.value.value).hide()
        }
        else{
          $(child).removeClass("menu_select");
          $("#"+child.attributes.value.value).show()
        }
      }
    })
最后更新: 2018年11月10日 16:58