房地产网站的设计要求,接兼职建设网站,网站源码程序,网站菜单导航制作组件和样式介绍
在开 Web 网站的时候#xff1a;
页面的结构由 HTML 进行编写#xff0c;例如#xff1a;经常会用到 div、p、 span、img、a 等标签
页面的样式由 CSS 进行编写#xff0c;例如#xff1a;经常会采用 .class 、#id 、element 等选择器
但在小程序中不能…组件和样式介绍
在开 Web 网站的时候
页面的结构由 HTML 进行编写例如经常会用到 div、p、 span、img、a 等标签
页面的样式由 CSS 进行编写例如经常会采用 .class 、#id 、element 等选择器
但在小程序中不能使用 HTML 标签也就没有 DOM 和 BOM同时仅仅支持部分 CSS选择器
不过不用担心小程序中提供了同样的角色
其中 WXML 充当的就是类似 HTML 的角色只不过在 WXML 中没有div、p、 span、img、a 等标签在 WXML 中需要使用 小程序提供的 view、text 、image、navigator 等标签来构建页面结构小程序提供的这些标签我们称为 “组件”开发者可以通过组合这些基础组件进行快速开发。
WXSS 则充当的就是类似 CSS 的角色WXSS 具有 CSS 大部分的特性小程序在 WXSS 也做了一些扩充和修改新增了尺寸单位 rpx、提供了全局的样式和局部样式另外需要注意的是WXSS 仅支持部分 CSS 选择器。
小程序给提供的组件文档WXML
小程序样式官方文档WXSS
样式-尺寸单位
随着智能手机的发展手机设备的宽度也逐渐多元化这就需要开发者在开发的时候需要适配不同屏幕宽度的手机。为了解决屏幕适配的问题微信小程序推出了 rpx 单位 小程序运行在手机移动端宿主环境是微信因为手机尺寸的不一致在写 CSS 样式时开发者需要考虑到手机设备的屏幕会有不同的宽度和设备像素比会采用一些技巧来算像素单位从而实现页面的适配。而 WXSS 在底层支持新的尺寸单位 rpx 开发者可以免去换算的烦恼只要交给小程序底层来换算即可。 rpx : 小程序新增的拓展单位可以根据屏幕宽度进行自适应小程序规定任何型号手机屏幕宽都为 750 rpx。 注意事项 小程序规定任何型号手机屏幕宽都为 750 rpx 开发建议 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。 iPhone6 的设计稿一般是 750px小程序的宽是 750rpx 在我们开发小程序页面时量取多少 px 直接写多少 rpx开发起来更方便也能够适配屏幕的适配 原因 设计稿宽度是 750px而 iPhone6 的手机设备宽度是 375px 设计稿想完整展示到手机中就需要缩小一倍 在 iPhone6 下px 和 rpx 的换算关系是1rpx 0.5px 750rpx 375px刚好能够填充满整个屏幕的宽度 落地代码
pages/index/index.wxml
!-- 需求绘制一个盒子让盒子的宽度占据屏幕的一半 --!-- view 是小程序提供的组件是容器组件类似于 div也是一个块级元素占据一行 --
!-- 如果想实现需求不能使用 pxpx 使固定单位不能实现自适应需要使用小程序提供的 rpx --
!-- 微信小程序规定不管是什么型号的手机屏幕的宽度都是 750rpx --
!-- rpx 单位能够实现自适应的 --
view classbox/viewpages/index/index.wxss
/* 通过演示使用 css 作为单位px 是不具有响应式的 *//* image {width: 375px;height: 600px;background-color: lightgreen;
} */.box {width: 375rpx;height: 600rpx;background-color: lightgreen;
}样式-全局样式和局部样式
在进行网页开发时我们经常创建 global.css、base.css 或者 reset.css 作为全局样式文件进行重置样式或者样式统一然后在每个页面或组件中写当前页面或组件的局部样式小程序中也存在全局样式和局部样式这一节我们来学习一下小程序中的全局样式和局部样式 全局样式 指在 app.wxss中定义的样式规则作用于每一个页面例如设置字号、背景色、宽高等全局样式 局部样式 指在page.wxss中定义的样式规则只作用在对应的页面并会覆盖 app.wxss 中相同的选择器。
案例
在 app.wxss 中定义全局样式设置 text 组件的颜色以及字号大小这段样式将会作用于任意页面的 text 组件
/* app.wxss */
text {color: lightseagreen;font-size: 50rpx;
}然后在 cate.wxss 中定义局部样式设置 text 组件的颜色以及字号大小会发现局部样式将全局样式进行了覆盖
/* pages/index/index.wxss */text {color: red;font-size: 30rpx;
}
组件样式以及注意事项
选择器使用注意事项
类似于页面自定义组件拥有自己的 wxss 样式组件对应 wxss 文件的样式只对组件wxml内的节点生效。
编写组件样式时需要注意以下几点 app.wxss 或页面的 wxss 中使用了标签名view选择器或一些其他特殊选择器来直接指定样式 这些选择器会影响到页面和全部组件通常情况下这是不推荐的做法 组件和引用组件的页面不能使用 id 选择器(#a)、属性选择器([a]) 和 标签名选择器请改用 class 选择器 组件和引用组件的页面中使用后代选择器.a .b在一些极端情况下会有非预期的表现如遇请避免使用 子元素选择器.a.b只能用于 view 组件与其子节点之间用于其他组件可能导致非预期的情况。 继承样式如 font 、 color 会从组件外继承到组件内。 除继承样式外 全局中的样式、组件所在页面的的样式对自定义组件无效 (除非更改组件样式隔离选项)
#a { } /* 在组件中不能使用 */
[a] { } /* 在组件中不能使用 */
button { } /* 在组件中不能使用 */
.a .b { } /* 除非 .a 是 view 组件节点否则不一定会生效 */代码示例
custom02.wxml
text idcontent classcontent sontext classlabel给自定义组件设置样式/text
/textcustom02.wxss
/* components/custom02/custom02.wxss *//* 第一个注意事项在自定义的 wxss 文件中不允许使用标签选择器ID 选择器属性选择器 */
/* 请改为 class 选择器 */
/* text {color: lightseagreen;
} *//* #content {color: lightseagreen;
} *//* [idcontent] {color: lightseagreen;
} *//* .content {color: lightseagreen;
} *//* 第二个注意事项子选择器只能用于 view 和 子组件用于其他组件可能会出现样式失效的问题 */
/* .content .label {color: lightseagreen;
} *//* 第三个注意事项继承样式例如color\font 都会从组件外继承 *//* 第四个注意事项全局样式、组件所在页面的样式文件中的样式都对自定义组件无效 *//* 第五个注意事项官方不推荐做法 */
/* 不建议在 全局样式文件 以及 父级页面之间使用标签选择器设置样式 */
/* 如果是在全局样式文件中设置样式会影响项目中全部的相同组件 */
/* 如果是再页面样式文件中设置样式会影响当前页面所有的相同组件 *//* 第六个注意事项 */
/* 组件和组件使用者如果使用了后代选择器可能会出现一些非预期情况 */
/* 如果出现请避免 */
cate.wxml
view classcustom parentviewcustom02 /view classson test我是父级页面中的结构/view/view
/viewcate.wxss
/* pages/cate/cate.wxss *//* .custom {color: lightseagreen;font-size: 50rpx;
} *//* .label {color: lightseagreen;
} *//* text {color: lightseagreen;
} */.parent .son.test {color: lightsalmon;
}app.wxss
/* .label {color: lightseagreen;
} *//* text {color: lightseagreen;
} */