【小程序商城实战-Taro3开发-课程4】CSS样式

一、css尺寸

1、屏幕尺寸单位背景知识

使用范围设备像素【物理像素】设备独立像素微信小程序H5
单位pxdip或者dp

rpx

rem
单位全称pixelDevice Independent Pixels(设备独立像素)responsive pixel(可以根据屏幕宽度进行自适应) font size of the root element (根元素的字体大小)
单位说明

以iphone6手机为例,其屏幕的物理分辨率为:750px*1334px。

dp = px / device pixel ratio,

其中 device pixel ratio = ppi / 160

 

以iphone6手机为例,

dp=750 /(326/160)

    ≈750 / 2

    =375px

微信小程序规定屏幕宽为750rpx。

 

以 iPhone6 手机为例,其独立像素为375px,物理像素为750px,

     则  750rpx = 375px 独立像素 = 750px物理像素

     即  1rpx = 0.5px 独立像素= 1px物理像素

相对于根元素上font-size的计算值。

 

在根元素的font-size属性中指定时,rem单位是指属性的初始值。这意味着1rem等于html元素的字体大小(对于大多数浏览器而言,其默认值为16px)。

延伸知识

(1)像素(英文“pixel”),其中pix是英语单词“picture图像”的复数形式简写,el是英语单词“element元素”的常前两个字母,所以“像素”是“图像元素”的简化名称。

(2)ppi(Pixels Per Inch)是指以1英寸为对角线长度的正方形区域包含多少个像素,也叫像素密度。

(3)同样尺寸的屏幕,有的PPI高,有的PPI低(有的单位面积包含的像素多,有的单位面积内包含的像素少),这样说明了一个问题:像素是没有大小的,它只是一个抽象的概念。

(4)是否还想了解viewport,请阅读 A tale of two viewports

2、设计和开发所使用的尺寸

       (1)设计尺寸:          宽度:375px        高度:667px

       (2)taro前端开发配置尺寸

                  

 参考 知乎一篇文章:iphone设计尺寸

3、Taro对尺寸的处理

在 Taro 中书写尺寸按照 1:1 的关系来进行书写,即从设计稿上量的长度 100px,那么尺寸书写就是 100px,当转成微信小程序的时候,尺寸将默认转换为 100rpx,当转成 H5 时将默认转换为以 rem 为单位的值。【参考 Taro 设计稿及尺寸单位

                                                

二、布局

 (1)需求:实现如下图所示的“商品列表”布局

                                                                                                       

 (2)css的命名规范:小写字母;字母之间以短横杠连接。

 (3)具体实现

# 商品列表所在容器布局,统一边距
.goods-container{
    padding-left: 15px;
    padding-right: 15px;
    margin-left: -5px;
    margin-right: -5px;
}

# 单个商品所在容器布局,通过调整width比例,确定每行展示几个商品
.goods-wrapper {
  float: left;
  width: 50%;
}

# 单个商品布局
.goods-item {
  margin: 5px;
  position: relative;
  display: block;
  box-sizing: border-box;
  min-height: 50px;
  overflow: hidden;
  color: #333;
  background-color: #fff;
}

# 底部商品信息布局
.goods-info {
  position: relative;
  padding: 0 12px 4px;
}

# 商品标题名称样式
.goods-item-info-title {
  height: 34px;
  max-height: 34px;
  font-size: 13px;
  line-height: 17px;
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

# 商品价格样式
.goods-item-info-price {
  position: relative;
  width: 100%;
}
.goods-item-info-price-wraper {
  float: left;
  height: 18px;
  font-size: 18px;
  line-height: 18px;
  margin-right: 8px;
}
.goods-item-info-price .sale-price {
  color: #f44;
  font-size: 18px;
  line-height: 18px;
}
.goods-item-info-price .origin-price {
  color: #c8c9cc;
  height: 20px;
  font-size: 12px;
  line-height: 24px;
  text-decoration: line-through;
}

三、其他

1、字体

开源字体

2、display属性:行内元素(inline)、块级元素(block)

常见的行内元素,<input> <button> <select> <img> <a> <span>

常见的块级元素,<div> <table><ul><ol> <li> <form> <p> <h1><h2><h3><h4><h5><h6> 

通常情况下, 给行内元素设置宽度和高度是无效的,但是有例外的几个元素,我们称之为:行内块元素(inline-block)

常见的行内块元素,<input>、<img>、<button>

3、display属性:-webkit-box

        -webkit-line-clamp是webkit的私有属性,用来限制显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性:

  display: -webkit-box;             //必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;   //必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值