和在ios中一样,它在RN中也是作为一个最基础的组件,其实我们在初始化一个RN项目的时候,都会看到有一个index.js文件里面去注册的是应用程序的根容器,如下图所示
以及我们在OC中的AppDelegate.m文件中会看到下面这样的代码,其实这里就是去加载index.js文件,然后去创建出一个view。
也就是说其实会根据App.js文件中的最外围的view帮我们去创建ios程序中的view,因为在下面中也是返回了一个view的
视图的层次结构,创建了很多个view
当我们自己去修改代码的时候,比如说我们修改成了这个样子
对应的跑在项目上就是这样的,是根据内容来进行显示宽高了
然后去看视图的层次结构,会发现包装成了很多个UIView,因为可能每一层的视图都有它所对应的用处,所以就会去创建,因为我们很有可能会在其中进行复杂的设置。
最后介绍一个CSS中的flex,flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间,就比如说下面的内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
#main
{
width:220px;
height:300px;
border:1px solid black;
display:flex;
}
#main div
{
flex:1;
}
</style>
</head>
<body>
<div id="main">
<div style="background-color:coral;">红色</div>
<div style="background-color:lightblue;">蓝色</div>
</div>
其实这里就是把最外层的div的display属性设置为flex,然后子控件的flex设置为1,就是代表平分里面的内容,Flex是Flexible Box的缩写,就是弹性布局的意思,用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。它即可以应用于容器中,也可以应用于行内元素。