天猫商品墙

  • 网格状布局:

1.  ul li 布局

2.  float: left; 使得元素在一行。注意: 父元素解决高度塌陷

3.  ul 设置固定宽,使得元素挤下去

4.  给父元素加一个 padding-left 和 padding-top 使得 背景色缝隙 充当 网格最左边的边线

5.  给 li 同意加 一个 margin-right 和 margin-bottom,使得 背景色缝隙 充当 网格线

  • li 的结构
  • 3D 空间
    • <div class="double_face">
      <div class="img_nav_back">
      <img src="./img/"/>
      </div> <div class="img_nav_front">
      <img src="./img/"/>
      </div>
      </div>
    • 加背景要给两张图片的 父元素 div 加
    •             #list li .img_3d{
      width: 121px;
      height: 108px;
      position: relative;
      transform-style: preserve-3d;
      } #list li .img_3d .img_back ,
      #list li .img_3d .img_front {
      position: absolute;
      top:;
      left:;
      width: 121px;
      height: 108px;
      line-height: 108px;
      text-align: center;
      background: #FFFFFF;
      } #list li .img_3d .img_back img ,
      #list li .img_3d .img_front img {
      display: inline-block;
      vertical-align: middle;
      } #list li .img_3d .img_back{
      transform: rotateY(180deg);
      }
  • mask 遮罩

    •             #list li .mask{
      position: absolute;
      top:;
      left:;
      width: 121px;
      height: 108px;
      background: rgba(0,0,0,0.6);
      text-align: center; /*display: none;*/
      opacity:;
      } // 监控过渡,移入慢慢显示,移出立刻消失
      #list li:hover .mask{
      transition: 3s;
      /*display: block;*/
      opacity:;
      } #list li .mask img{
      float: right;
      margin-top: 10px;
      margin-right: 10px;
      }
      #list li .mask p{
      margin-top: 45px;
      color: #FFFFFF;
      font-size: 12px;
      text-align: center;
      } #list li .mask a{
      text-decoration: none;
      color: #FFFFFF;
      background: red;
      border-radius: 10px;
      font-size: 12px;
      padding: 0 15px;
      }
  • 切换按钮

    • 鼠标进入,无过渡动画    #btn:hover { transition: 0; }
    • 鼠标离开,有过渡动画
    • 点击计次
    • 翻转延迟差(斜线数组控制,取余获得列数)
        • colNum = arrIndex % 总列数;
        • rowNum = Math.floor(arrIndex / 总列数);
        • 延时 arr[i] = (coLnum+rowNum)*100; 毫秒
  •             #btn{
    background: #fff;
    text-align: center; transition: 2s;
    } #refresh{
    margin: 33px auto 0px;
    width: 28px;
    height: 28px;
    background-image: url("img/refresh.png");
    background-repeat: no-repeat;
    } #btn:hover{
    background: #dd2727;
    color: #FFFFFF; transition: none;
    /*transition: 0s;*/
    } #btn:hover #refresh{
    background-image: url("img/refresh-white.png");
    }

CSS3_天猫商品墙的更多相关文章

  1. 简单的抓取淘宝关键字信息、图片的Python爬虫|Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)

    Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇) 淘宝改字段,Bugfix,查看https://github.com/hunterhug/taobaoscrapy.git 由于Gith ...

  2. Python网页信息采集:使用PhantomJS采集淘宝天猫商品内容

    1,引言 最近一直在看Scrapy 爬虫框架,并尝试使用Scrapy框架写一个可以实现网页信息采集的简单的小程序.尝试过程中遇到了很多小问题,希望大家多多指教. 本文主要介绍如何使用Scrapy结合P ...

  3. selenium跳过webdriver检测并爬取天猫商品数据

    目录 简介 编写思路 使用教程 演示图片 源代码 @(文章目录) 简介 现在爬取淘宝,天猫商品数据都是需要首先进行登录的.上一节我们已经完成了模拟登录淘宝的步骤,所以在此不详细讲如何模拟登录淘宝.把关 ...

  4. [爬虫]采用Go语言爬取天猫商品页面

    最近工作中有一个需求,需要爬取天猫商品的信息,整个需求的过程如下: 修改后端广告交易平台的代码,从阿里上传的素材中解析url,该url格式如下: https://handycam.alicdn.com ...

  5. 使用火蜘蛛采集器Firespider采集天猫商品数据并上传到微店

    有很多朋友都需要把天猫的商品迁移到微店上去.可在天猫上的商品数据非常复杂,淘宝开放接口禁止向外提供数据,一般的采集器对ajax数据采集的支持又不太好. 还有现在有了火蜘蛛采集器,经过一定的配置,终于把 ...

  6. Python爬虫学习教程:天猫商品数据爬虫

    天猫商品数据爬虫使用教程 下载chrome浏览器 查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动 pip安装下列包 pip install selenium pip in ...

  7. IOS详解TableView——选项抽屉(天猫商品列表)

    在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图. 这里写的天猫抽屉其实也可以用该方法实现,具体到细节每个人也有所不同.这里采用的是点击cell对cell进行运动处理以展开“ ...

  8. scrapy 爬取天猫商品信息

    spider # -*- coding: utf-8 -*- from urllib.parse import urlencode import requests import scrapy impo ...

  9. 【转】使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法

    在项目中遇到了这样一个需求:让用户在手机应用中,点击一个天猫的商品链接(知道商品在PC浏览器里的地址),直接启动天猫的客户端并显示这个商品.以前曾经实现过类似的功能,不过那次是淘宝的商品,天猫和淘宝的 ...

随机推荐

  1. 【原创】支持同时生成多个main函数 makefile 模板

    背景: 去年做项目的时候,由于有需要编译出多个可执行文件的需求,修改了Makefile使其支持生成多个结果(编译多个含有main函数的文件),但总觉得自己的实现不够完美. 今年又遇到这样需求的时候,可 ...

  2. 深入学习c++(虚函数遇到析构函数就退化了)

    1. 在构造函数和析构函数中调用的虚函数并不具备虚函数的特性 因为基类的构造函数先构造, 析构函数后析构

  3. Python3:判断三角形的类型

    # 判断三角形类型def triangle(a,b,c): if a>0 and b>0 and c>0: if a+b>c and b+c>a and a+c>b ...

  4. Ubuntu18.04 VMtools的安装与卸载

    VM不推荐在Ubuntu中使用VMtools而是open-vm-tools,原文地址https://kb.vmware.com/s/article/2073803 安装方式 1 更新系统源 sudo ...

  5. POJ 1410 Intersection (线段和矩形相交)

    题目: Description You are to write a program that has to decide whether a given line segment intersect ...

  6. 3D Slicer中文教程(三)—数据加载及保存方式

    1.打开数据与保存数据 (1)打开数据 ——可以将数据拖拽到3D Slicer应用窗口或者从菜单栏工具栏打开. ——多种方式加载大量数据. 有关DICOM数据,请参阅DICOM模块文档. 对于几乎所有 ...

  7. c++ 智能指针用法详解

    本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用. 为什么要使用智能 ...

  8. SQLAlchemy 使用(一)创建单一model

    前言 最近项目等待前端接接口,比较空闲.就想学习一些新东西.学啥呢?考虑到ORM的易用性,还是学习一下ORM.那么与Flask搭配的ORM有 flask-sqlalchemy 但是该组件专为Flask ...

  9. java基础学习总结——面向对象1

    目录 一.面向过程的思想和面向对象的思想 二.简单理解面向对象 三.面向对象的设计思想 四.对象和类的概念 五.如何抽象出一个类? 六.类(对象)之间的关系 七.Java与面向对象 八.为什么使用面向 ...

  10. PHP迭代器:Iterator和IteratorAggregate

    使用迭代模式遍历所有的对象的时候,都必须实现Traversable(遍历)接口.但是Traversable是一个内部的类,只有用c语言编写的类才可以实现Traversable实现.如果我们在自定义的 ...