1.1.1 微信小程序--我的第一个小程序(续:.wxss设置样式)

一、前一篇我们用.wxml文件搭建出来了页面框架,如下图:

但是页面里的内容,包括图片、文字都是按默认格式显示的。怎么才能按照我们想要的样式显示呢?

※   预想,先定个想像的结果:

1.图片缩小、居右

2.每行字体比前一行小,名字加粗

3.每行颜色都不一样

4.每行居左、居中、居右交替

 

了解一下wxss(不想看的直接看二、先看看官方给的参数(别太纠结,用的时候再查)

WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。

WXSS 用来决定 WXML 的组件应该怎么显示。

  • 尺寸单位

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

设备rpx换算px (屏幕宽度/750)px换算rpx (750/屏幕宽度)
iPhone51rpx = 0.42px1px = 2.34rpx
iPhone61rpx = 0.5px1px = 2rpx
iPhone6s1rpx = 0.552px1px = 1.81rpx

 


 

开始吧。

二、先看看官方给的image参数(别太纠结,用的时候再查):

属性名类型默认值说明最低版本
srcString 图片资源地址 
modeString'scaleToFill'图片裁剪、缩放的模式 
lazy-loadBooleanfalse图片懒加载。只针对page与scroll-view下的image有效1.5.0
binderrorHandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong'} 
bindloadHandleEvent 当图片载入完毕时,发布到 AppService 的事件名,事件对象event.detail = {height:'图片高度px', width:'图片宽度px'}

注1:image组件默认宽度300px、高度225px 注2:image组件中二维码/小程序码图片不支持长按识别。仅在wx.previewImage中支持长按识别。

mode 有效值:

mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。

模式说明
缩放scaleToFill不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
缩放aspectFit保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
缩放aspectFill保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
缩放widthFix宽度不变,高度自动变化,保持原图宽高比不变
裁剪top不缩放图片,只显示图片的顶部区域
裁剪bottom不缩放图片,只显示图片的底部区域
裁剪center不缩放图片,只显示图片的中间区域
裁剪left不缩放图片,只显示图片的左边区域
裁剪right不缩放图片,只显示图片的右边区域
裁剪top left不缩放图片,只显示图片的左上边区域
裁剪top right不缩放图片,只显示图片的右上边区域
裁剪bottom left不缩放图片,只显示图片的左下边区域
裁剪bottom right不缩放图片,只显示图片的右下边区域

此处重点:

使用flex布局,默认布局下块级元素是会换行的,但设置了flex布局后默认就都水平排列了
水平方向)justify-content:

flex-start(居于轴线的开头)

center(居于轴线的中间)

flex-end(居于轴线的末端)

space-around(将子元素按比例排列在轴线上)

space-between(将子元素排列在轴线两端) 
垂直方向)align-items:

同justify-content 

图片设置代码:

.wxml

<view class='imagesize'>                    //用class来声明样式名
  <image src="{{img}}" class='in-image'>    // in-img   
  </image>
</view>

.wxss

.imagesize{
  display:flex;                           //flex布局
  align-items: flex-start;                //垂直轴线的开头
  justify-content: flex-end;              //水平轴线的末端
}
.imagesize image {                        //设置图片尺寸,**这里是我在官方那没找到的
  width: 400rpx;
  height: 400rpx;
  }

字体设置

wxss 文本属性(text)
属性说明语法(属性值)
color设置文本颜色
direction设置文本方向。ltr:文本方向从左到右;rtl:文本方向从右到左
letter-spacing设置字符间距
line-height设置行高
text-align对齐元素中的文本left:把文本排列到左边。默认值,由浏览器决定。
right:把文本排列到右边。
center:把文本排列到中间。
justify:实现两端对齐文本效果。
inherit: 规定应该从父元素继承 text-align 属性的值。
text-decoration向文本添加修饰underline 定义文本下的一条线。
overline 定义文本上的一条线。
line-through 定义穿过文本下的一条线。
blink 定义闪烁的文本。
text-indent缩进元素中文本的首行
text-shadow设置文本阴影text-shadow: h-shadow v-shadow blur color;
h-shadow:水平阴影的位置,允许负值;
v-shadow:垂直阴影的位置,允许负值;
blur:模糊的距离;
color:阴影的颜色
text-transform控制元素中的字母capitalize 文本中的每个单词以大写字母开头。
uppercase 定义仅有大写字母。
lowercase 定义无大写字母,仅有小写字母。
unicode-bidi设置或返回文本是否被重写 
vertical-align设置元素的垂直对齐
white-space设置元素中空白的处理方式
word-spacing设置字间距
wxss 字体属性(font)
属性说明语法(属性值)
font在一个声明中设置所有字体属性font:font-style font-variant font-weight font-size/line-height font-family(按顺序)
font-style指定文本的字体样式normal 默认值。浏览器显示一个标准的字体样式。
italic 浏览器会显示一个斜体的字体样式。
oblique 浏览器会显示一个倾斜的字体样式。
inherit 规定应该从父元素继承字体样式。
font-variant以小型大写字体或者正常字体显示文本normal 默认值。浏览器会显示一个标准的字体。
small-caps 浏览器会显示小型大写字母的字体。
inherit 规定应该从父元素继承 font-variant 属性的值。
font-weight指定字体的粗细normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。
inherit 规定应该从父元素继承字体的粗细。
font-size指定文本的字体大小smaller 把 font-size 设置为比父元素更小的尺寸。
larger 把 font-size 设置为比父元素更大的尺寸。
length 把 font-size 设置为一个固定的值。
% 把 font-size 设置为基于父元素的一个百分比值。
font-family指定文本的字体系列

.wxml

<view class='titlesize'>{{title}}</view>            //声明titlesize样式名,下面也是
<view class='introsize'>介绍:{{intro}}</view>
<view class='phonesize' bindtap='callme'>手机:{{contact}}</view>
<view class='adresssize'>地址: {{address}}</view>
<view class='wechatsize'>微信号:{{wechat}}</view>
<view class='emailsize'>邮箱:{{email}}</view>

.wxss

.titlesize{
  font-size: 45px;                       //字号
  font-weight: bold;                     //加粗
  text-align:center;                     //居中
  color:red                              //红色
}
.introsize{
  font-size: 20px;
  font-weight: normal;
  text-align:left;
  color:blue
}
.phonesize{
  font-size: 18px;
  font-weight: normal;
  text-align:right;
  color:green
}
.adresssize{
  font-size: 16px;
  font-weight: normal;
  text-align:center;
  color:salmon
}
.wechatsize{
  font-size: 14px;
  font-weight: normal;
  text-align:left;
  color:darkblue
}
.emailsize{
  font-size: 12px;
  font-weight: normal;
  text-align:right;
  color:lightblue
}

先看显示结果图(代码等下完整给):

已完成预想的4点。

三、代码(主要看懂代码,要改的再查也行):

其实只是在.wxml文件里加了class=‘’,用来声明样式名。

又在.wxss里给出了详细设置。

本篇在上篇代码之上改的,没给的其他都没改,代码如下:

aboutme.wxml

<!--aboutme.wxml-->

<view class='imagesize'>
  <image src="{{img}}" class='in-image'>
  </image>
</view>
<view class='titlesize'>{{title}}</view>
<view class='introsize'>介绍:{{intro}}</view>
<view class='phonesize' bindtap='callme'>手机:{{contact}}</view>
<view class='adresssize'>地址: {{address}}</view>
<view class='wechatsize'>微信号:{{wechat}}</view>
<view class='emailsize'>邮箱:{{email}}</view>

aboutme.wxss

.imagesize{
  float: right;
}
.imagesize image {
  
  width: 400rpx;
  height: 400rpx;
  }
.titlesize{
  font-size: 45px;
  font-weight: bold;
  text-align:center;
  color:red
}
.introsize{
  font-size: 20px;
  font-weight: normal;
  text-align:left;
  color:blue
}
.phonesize{
  font-size: 18px;
  font-weight: normal;
  text-align:right;
  color:green
}
.adresssize{
  font-size: 16px;
  font-weight: normal;
  text-align:center;
  color:salmon
}
.wechatsize{
  font-size: 14px;
  font-weight: normal;
  text-align:left;
  color:darkblue
}
.emailsize{
  font-size: 12px;
  font-weight: normal;
  text-align:right;
  color:lightblue
}

谢谢阅读。共同进步!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值