51dev.com IT技术开发者社区

51dev.com 技术开发者社区

微信小程序中布局使用的css布局语法

IT猿阅读(78)2020-01-03 收藏0次评论

微信小程序的布局是基于css的布局,可以参考一些学习网站上面的css的基础学习

以下是布局的一些语法规则


class 用  .class{}
id    用  #id{}
类的子元素添加css  (1  .class 子元素名(所有后代)   (2   .class>li{} (直接子后代)
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100

(1)块状元素、内联元素(又叫行内元素)和内联块状元素

三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。

(1.1)
常用的块状元素有:

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>

常用的内联元素有:

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

常用的内联块状元素有:

<img>、<input>

(1.2)块级元素
display:block; /*设置为块状元素*/

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

(1.3)内联元素
display:inline;             /*设置为内联元素*/

内联元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。


(1.4)内联块状元素
display:inline-block;       /*设置为内联块状元素*/

inline-block 元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

(2)
CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float
在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)

(2.1)
流动模型(一) (默认类型)
第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。
第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。(内联元素可不像块状元素这么霸道独占一行)

(2.2)
浮动模型
(float:left)
块状元素这么霸道都是独占一行,如果现在我们想让两个块状元素并排显示

(2.3)
层模型
层模型有三种形式:

1、绝对定位(position: absolute)

2、相对定位(position: relative)

3、固定定位(position: fixed)

(2.3.1)
层模型--绝对定位(相对于父类进行布局 类似 framlayout,不过会以直接的外层布局作为相对的位置)
div{position:absolute;left:100px;top:50px;}
如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。

(2.3.2)
层模型--相对定位 (相当于android中的 leanerlayout)
div{position:relative;left:100px;top:50px;}
如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动.

(2.3.3)
层模型--固定定位(相当于android中的 Framlayout,不一样的是,他是相对于整个窗口相对的位置,进行布局)
div{position:fixed;left:100px;top:50px;}
fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。


(3)单位
目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位。
(3.1)px
因为像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)
(3.2)em
就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码
p{font-size:12px;text-indent:2em;}
(3.3)%
p{font-size:12px;line-height:130%}
设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)。

以上就是微信小程序中布局使用的css布局语法的全部内容。

相关内容