编辑WXML文件

我们在开发者工具里打开之前修改的模板小程序home文件夹下的home.wxml,里面有如下代码

<!--pages/home/home.wxml-->
<text>pages/home/home.wxml</text>

这个第1行,是一句注释,也就是一句说明,不会显示在小程序的前端,第2行就是一个组件。

接下来我们会广泛使用到小程序的组件。比如我们在上面的代码下面加一下下面的代码,大家再来看效果:

<view>
<view>
<view>WXML 模板</view>
<view>从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。</view>
</view>
</view>

大家可以结合上面的代码,来了解一下组件的基本写法

  • 组件和组件类似,他们都是成对出现的,比如,,两个要一起写,有前面的开始标签,后面就要有一个闭合标签,闭合标签前面有一个“/”
  • view组件是可以嵌套写的,
  • 为了让视觉上更好看,写代码的时候要有缩进(虽然不缩进也不会有影响)

我们可以把这个页面写的更加复杂一点。

<view>
<view>
<view>
<view>技术学习说明</view>
<view>技术和我们以往所接触的一些知识有很大的不同,比如英文非常强调词汇量,需要你多说多背;数学需要你记住公式,反复练习;在教学的方式上也有很大的不同,以前都是有专门的老师手把手教你,而且还有同学交流。那要学好技术,应该依循什么样的学习方法和教学方法呢?
</view>
</view>
<view>
<view>
<view>自学而非手把手</view>
<view>技术的方向众多,而且知识点也是非常庞杂,需要你具备一定的自学能力,所谓自学能力就是要求你遇到问题能够勤于思考,擅于搜索,能够不断实践探索。在实际工作中,也要求你能根据技术文档可以迅速掌握前沿的技术,而同事不会有时间教你,如果没有自学能力,是很难胜任很多工作的。
</view>
</view>
<view>
<view>查阅文档而非死记知识点</view>
<view>在高中一学期一门课只有很薄的一本书,老师会反复讲解知识点,强化你的记忆,考试也是闭卷;而技术一个很小的分支,内容就有几千页甚至更多,强记知识点显然不合适。学习技术要像查词典一样来查阅技术文档,你只需要掌握基本的语法和用法,在编程的时候随时查阅,就像你不需要背诵上万的单词也能知道它的意思用法一样,所以技术文档是学习技术最为重要的参考资料。
</view>
</view>
<view>
<view>实战而非不动手的看书</view>
<view>技术是最强调结果的技能,你看了再多书,如果不知道技术成品是怎么写出来的,都是枉然。很多朋友有收集癖,下载了很多电子资源,收藏了很多高赞的技术文章,但是却没有动手去消化去理解,把时间和精力都浪费了。不动手在开发者工具里去写代码,不动手配置开发环境,缺乏实战的经验,都是阻碍你学好技术的坏习惯。
</view>
</view>
<view>
<view>搜索而非做伸手党</view>
<view>在以前,我们遇到技术问题,我们可以问老师问同学,于是很多人把这种不良的习惯也带到了技术的学习当中,遇到问题也总喜欢求助于别人。技术的方向众多,环境复杂,问题也是很多,如果你总是依赖别人的解答,是很难学好技术的。一定要学会在网上通过搜索遇到的问题来找答案。
</view>
</view>
<view>
<view>团队协作,而非单打独斗</view>
<view>一个产品涉及的技术非常多,需要很多人来一起配合才能开发好,所以学习技术的时候我们需要了解一些代码规范、工作的流程、项目管理等,在技术方面也会有API接口,接口文档这些,还要懂得如何和同职业的同事以及不同角色的人如设计师等一起配合,而不是自己一个人单打独斗。
</view>
</view>
<view>
<view>系统的指导而非茫然无序</view>
<view>学好技术最依赖你自学,但是如果没有人指导你,你可能会像苍蝇一样陷入众多资料中茫然无序,抓不住一个技术的重点,也不清楚哪些技术才值得你深入学习,最好是有经验的人可以指点你应该看什么,学什么,什么才是重点,当然不是手把手教你。
</view>
</view>
</view>
</view>
</view>

WXSS选择器

大家是不是已经发现我们写的小程序页面有点丑?那我们需要对这个小程序页面进行美化。但是我们的代码里面组件这么多,要是不对每个组件进行区分,就很难对每个组件进行美化了。

id与class选择器

这个时候我们就要先了解一下选择器的概念。选择器是用来干什么的呢?从名字里我们就可以看出来,就是为了选择。比如学校有1000个人,我们要选择出其中一个人,那我们可以给所有人一个学号,这个学号是唯一的,我们可以称这个学号为id,用于精准的选择;还有的时候我们需要对一群人进行分类选择,比如整个班级或者所有男生,这个班级、性别,我们可以称为class,用于分类选择。

在wxss技术文档这里有关于选择器的描述。

[技术文档:WXSS技术文档]

(https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxss.html)

给组件增加属性

比如上面的view组件实在太多了,为了区分它们,我们给他们加一些属性,这样我们就可以用选择器选择它们了。

<view id="wxmlinfo">
<view class="content">
<view class="title">WXML 模板</view>
<view class="desc">从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。
</view>
</view>
</view>

以及比较复杂的那一段代码的view组件也加上属性。给组件添加属性在外观上并不会有什么效果哦~

<view id="studyweapp">
<view class="content">
<view class="header">
<view class="title">技术学习说明</view>
<view class="desc">技术和我们以往所接触的一些知识有很大的不同,比如英文非常强调词汇量,需要你多说多背;数学需要你记住公式,反复练习;在教学的方式上也有很大的不同,以前都是有专门的老师手把手教你,而且还有同学交流。
那要学好技术,应该依循什么样的学习方法和教学方法呢?
</view>
</view>
<view class="lists">
<view class="item">
<view class="item-title">自学而非手把手</view>
<view class="item-desc">技术的方向众多,而且知识点也是非常庞杂,需要你具备一定的自学能力,所谓自学能力就是要求你遇到问题能够勤于思考,擅于搜索,能够不断实践探索。在实际工作中,也要求你能根据技术文档可以迅速掌握前沿的技术,而同事不会有时间教你,如果没有自学能力,是很难胜任很多工作的。
</view>
</view>
<view class="item">
<view class="item-title">查阅文档而非死记知识点</view>
<view class="item-desc">在高中一学期一门课只有很薄的一本书,老师会反复讲解知识点,强化你的记忆,考试也是闭卷;而技术一个很小的分支,内容就有几千页甚至更多,强记知识点显然不合适。学习技术要像查词典一样来查阅技术文档,你只需要掌握基本的语法和用法,在编程的时候随时查阅,就像你不需要背诵上万的单词也能知道它的意思用法一样,所以技术文档是学习技术最为重要的参考资料。
</view>
</view>
<view class="item">
<view class="item-title">实战而非不动手的看书</view>
<view class="item-desc">技术是最强调结果的技能,你看了再多书,如果不知道技术成品是怎么写出来的,都是枉然。很多朋友有收集癖,下载了很多电子资源,收藏了很多高赞的技术文章,但是却没有动手去消化去理解,把时间和精力都浪费了。不动手在开发者工具里去写代码,不动手配置开发环境,缺乏实战的经验,都是阻碍你学好技术的坏习惯。
</view>
</view>
<view class="item">
<view class="item-title">搜索而非做伸手党</view>
<view class="item-desc">在以前,我们遇到技术问题,我们可以问老师问同学,于是很多人把这种不良的习惯也带到了技术的学习当中,遇到问题也总喜欢求助于别人。技术的方向众多,环境复杂,问题也是很多,如果你总是依赖别人的解答,是很难学好技术的。一定要学会在网上通过搜索遇到的问题来找答案。
</view>
</view>
<view class="item">
<view class="item-title">团队协作,而非单打独斗</view>
<view class="item-desc">一个产品涉及的技术非常多,需要很多人来一起配合才能开发好,所以学习技术的时候我们需要了解一些代码规范、工作的流程、项目管理等,在技术方面也会有API接口,接口文档这些,还要懂得如何和同职业的同事以及不同角色的人如设计师等一起配合,而不是自己一个人单打独斗。</view>
</view>
<view class="item">
<view class="item-title">系统的指导而非茫然无序</view>
<view class="item-desc">学好技术最依赖你自学,但是如果没有人指导你,你可能会像苍蝇一样陷入众多资料中茫然无序,抓不住一个技术的重点,也不清楚哪些技术才值得你深入学习,最好是有经验的人可以指点你应该看什么,学什么,什么才是重点,当然不是手把手教你。
</view>
</view>
</view>
</view>
</view>

CSS参考手册

给wxml文件的组件加了选择器之后,我们就可以在wxss文件里给指定的某个组件以及某类组件添加一些美化了,这里我们需要编辑home.wxss文件。wxss美化的知识和css是一样的,所以小程序的技术文档里面没有,大家可以看一下w3shool的CSS参考手册。CSS文件的作用就是来美化组件的。

技术文档:CSS参考手册

这里大家只需要了解CSS的字体属性、文本属性、背景属性、边框属性、盒模型

字体属性与文本属性

比如class为title的组件里面的文字是标题,我们需要对标题的字体进行加大、加粗以及居中处理,这时候我们就可以在home.wxss文件里加入以下代码,然后大家看看有什么效果。

.title{
font-size: 20px;
font-weight: 600;
text-align: center;
} .title{
font-size: 20px;
font-weight: 600;
text-align: center;
}

通过 .title这个选择器,我们就选择到了类class为

title的组件,然后就可以精准地对它进行美化,对它的美化代码不会用在其他组件上了。

大家也要留意css的写法,这里font-size,font-weight,text-align外面称之为属性,冒号:后面的我们称之为值,属性:值这一整个我们叫做声明,每个声明我们用分号;隔开。大家不要记这些概念,知道是个什么东西就行了。

class为item-title的组件里面的文字是一个列表的标题,我们希望它和其他文字的样式有所不同,不过这个标题要比title的字体小一些;比其他文字更粗,但是比title更细;颜色我们可以添加一个彩色字体,

.item-title{
font-size:18px;
font-weight:500;
color: #c60;
} .item-title{
font-size:18px;
font-weight:500;
color: #c60;
}

我们希望描述类的文字颜色浅一点,不要那么黑,我们可以换一个浅一点的颜色,我们在home.wxss下面继续加代码。

.desc,.item-desc{
color: #333;
} .desc,.item-desc{
color: #333;
}

这里有两个选择器,一个是desc,一个是item-desc,当我们希望两个不同的选择器有相同的css代码时,可以简化一起写,然后用逗号,隔开。

除了标题(class为title和item-title的组件)我们都给他们加了字体大小,我们希望所有的文字大小、行间距有一个统一的设定。

#wxmlinfo,#studyweapp{
font-size:16px;
font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
line-height: 1.6;
} #wxmlinfo,#studyweapp{
font-size:16px;
font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
line-height: 1.6;
}

盒模型

盒子模型就像一个长方形的盒子,它有长度、高度、也有边框,以及内边距与外边距。我们通过实战来了解一下。

内边距就是这个长方形的边框与长方形里面的内容之间的距离,有上边距,右边距、下边距、左边距这个四个内边距,分别为padding-top,padding-right,padding-bottom,padding-left。注意是上、右、下、左,这样一个顺时针。

那外边距就是这个长方形的边框与长方形外面的内容之间的距离,同样也有上边距margin-top,右边距margin-right,下边距margin-bottom,左边距margin-left这个四个边距。同样也是上、右、下、左这个顺时针。

比如我们给id为wxmlinfo和studyweapp的组件加一个内部距,让文字

#wxmlinfo,#studyweapp{
padding-top:20px;
padding-right:15px;
padding-bottom:20px;
padding-left:15px;
}
#wxmlinfo,#studyweapp{
padding-top:20px;
padding-right:15px;
padding-bottom:20px;
padding-left:15px;
}

padding的简写 上面这四个padding是可以做一定的简写的,关于padding的简写,大家可以去阅读以下技术文档,多用就会了,CSS padding属性 ,在这里有四个padding简写的案例,比如上面的这四条声明可以简写成padding:20px 15px。大家可以业余深入了解一下。

class为title的view组件是标题,我们希望它和下面的文字距离大一点,我们可以添加以下样式:

.title,.item-title{
margin-bottom:0.9em;
}
.title,.item-title{
margin-bottom:0.9em;
}

这里咋又冒出了一个em的单位,em是相对于当前字体尺寸而言的单位,如果当前你的字体大小为16px,那1em为16px;如果当前你的字体大小为18px,那1em为18px。

为了让class为item-title的组件,也就是列表的标题更加突出,我们可以给它左边加一个边框,

.item-title{
border-left: 3px solid #c60;
padding-left: 15px;
}
.item-title{
border-left: 3px solid #c60;
padding-left: 15px;
}

这样,小程序的一篇文章的样式看起来就算马马虎虎可以接受啦

微信小程序2--WXML与WXSS的更多相关文章

  1. 微信小程序:WXML 模板

    微信小程序:WXML 模板 一.WXML 模板 网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来 ...

  2. 实现微信小程序的wxml文件和wxss文件在phpstrom的支持

    最近下载了微信小程序准备好好看看,但是发现微信小程序用的后缀名是不一样的,.wxml代表的就是平时用的.html,.wxss代码的就是平时用的.css.但是phpstorm无法识别,为了更方便的码代码 ...

  3. 小程序02 wxml和wxss

    微信小程序的排版就跟wxml和wxss有关,它们两者相当于HTML和CSS,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式. 一.wxml 界面结构wxmL比较容易理解, ...

  4. 微信小程序 text属性设置 WXSS样式

    >微信小程序的布局css样式 参考自  珺L 文字 width: fit-content;font-size:20px;      /*设置文字字号*/color:red;           ...

  5. 微信小程序之使用weui.wxss(八)

    [未经作者本人同意,请勿以任何形式转载] 什么是WeUI? WeUI是在遵守微信视觉设计规范下,由官方设计团队为小程序量身定制的基础样式库. 这里把WeUI放到基础篇里,是因为WeUI是官方出品,并且 ...

  6. 微信小程序的wxml文件和wxss文件在webstrom的支持

    webstrom默认不支持wxml文件和wxss文件,所以要进入设置里面手动添加支持. 对wxml文件的支持: 文件 -> 设置 -> 编辑器 -> 文件类型, 然后选择XML文件, ...

  7. 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法

    原理:wxml中不能直接使用较高级的js语法,如‘.toFixed’,‘toString()’,但可以通过引入wxs模块实现效果 1.新建`filter.wxs` var filters = {    ...

  8. 微信小程序wxml文件中调用自定义函数

    想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言. WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript.JSON. ...

  9. 微信小程序全面实战,架构设计 && 躲坑攻略(小程序入门捷径教程)

    最近集中开发了两款微信小程序,分别是好奇心日历(每天一条辞典+一个小投票)和好奇心日报(轻量版),直接上图: Paste_Image.png 本文将结合具体的实战经验,主要介绍微信小程序的基础知识.开 ...

  10. 如何解决微信小程序界面适配问题-引用-生命周期回调函数-优化机制-样式引入

    如何解决微信小程序界面适配问题 .wxss page{ height: 100%; width:750rpx; } this.setData({ imageWidth: wx.getSystemInf ...

随机推荐

  1. Iframe在Vue中的状态保持技术

    引言 Iframe是一个历史悠久的HTML元素,根据MDN WEB DOCS官方介绍,Iframe定义为HTML内联框架元素,表示嵌套的Browsing Context,它能够将另一个HTML页面嵌入 ...

  2. postman接口关联1

    1.接口关联 在接口测试中,经常会遇到后一接口的请求数据需要用到前一接口响应数据 关联接口:简单描述就是一个接口的返回结果作为另一个接口入参,其中最典型的就是需要登录token验证的接口,需要先调用登 ...

  3. 创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作

    本文为博主原创,转载请注明出处: 1.使用npm进行初始化 在本地创建项目的文件夹名称,如 node_test,并在该文件夹下进行黑窗口执行初始化命令 2. 安装 expres包和myslq依赖包 n ...

  4. odoo开发教程十五:仪表板

    仪表盘可以通过外部ID引用其他视图文件的内容,整合到一个界面进行显示. 一:建立仪表盘视图文件 views/session_board.xml: 通过外部id引入要展示的视图文件--定义仪表板form ...

  5. 让你的 conda “回滚”到以前版本的环境

    我现在使用 Anaconda 作为我的主要 Python 发行版,同样,我们公司也将它用于所有开发人员机器以及他们的服务器.然而,前几天我在浏览一些论坛技术文章时遇到了一个我以前从未知道的 conda ...

  6. 开源 API 网关-访问策略(二)

    在上篇文章API网关:开源 API 网关-访问策略(一) 中,我们简单演示了如何在IP维度中对请求路径设置黑白名单,以此来限制客户端请求的权限和范围. 此外,Apinto网关为客户端提供了一种统一的. ...

  7. Spring Boot实现高质量的CRUD-1

    1.前言 ​ 在Spring Boot的SMM框架(SpringBoot+Mysql+Mybatis)的WEB项目中,CRUD(增删改查)大致占了50%-70%左右的工作量.提高CRUD的代码质量,提 ...

  8. 强国杯南部西部赛区分区晋级赛WP

    Misc 空白文件 解压的文件,通过kali strings 查看到base64加密,把%7B换成'{',%7D换成'}' 迷惑的时间 导出3.jpg原始数据信息 去掉没用的头部信息,得到3.jpg图 ...

  9. 关于Abp Vnext 权限授权的问题

    一.问题 最近收到一位朋友的求助,说他项目上的权限授权出现了问题,现象是在基础服务授权角色:RC 权限:X.Default,在基础服务使用RC角色的用户登录能访问到权限X.Default资源,而在X服 ...

  10. CKS 考试题整理 (16)-Pod安全策略

    Task 创建一个名为restrict-policy的新的PodSecurityPolicy,以防止特权Pod的创建. 创建一个名为restrict-access-role并使用新创建的PodSecu ...