当前位置: 首页 > wzjs >正文

WordPress高级版破解seo 资料包怎么获得

WordPress高级版破解,seo 资料包怎么获得,wordpress能用的插件吗,本地环境建设网站本文总结: 我们学到了 React Native 的 Flexbox 布局,它让写样式变得更方便啦!😊 Flexbox 就像一个有弹性的盒子,有主轴和交叉轴(行或列)。 在 RN 里写样式要用 StyleSheet.create 对象,属性名…

本文总结:

我们学到了 React Native 的 Flexbox 布局,它让写样式变得更方便啦!😊 Flexbox 就像一个有弹性的盒子,有主轴和交叉轴(行或列)。

在 RN 里写样式要用 StyleSheet.create 对象,属性名是驼峰命名

文章还介绍了如何用 Platform.select 给不同平台写样式,以及使用 styled-components 这个库的简单例子(虽然我们主要还是用 StyleSheet)。

文章还通过三栏布局横向布局的例子,展示了 flexDirection, alignItems, justifyContent alignSelf 这些属性的用法。

特别喜欢 alignSelf: 'stretch' 能让元素填充空间的技巧!👍

最后,通过抽象出 RowCol 组件,我看到了如何用 Flexbox 实现更复杂的嵌套布局。感觉 Flexbox 真的让布局变得灵活多了!🚀

1、关于Flexbox

在将flexbox引入css前,构建布局的各种css属性都比较粗糙,而且很容易出错。而flexbox通过抽象了很多属性来解决问题。字如其名flexbox的意思就是一个具有弹性的盒子模型。我们画个图:假设你有一个容器和它的子元素,它看起来可以是这样的。

Flexbox容器有二个轴,即(向上/向下)或(左/右)。

2、实操

我们直接上代码吧,这是一个js模块,而不是css模块。如果我们要声明rn的样式,我们需要去定义一个对象然后调用StyleSheet.create()最后抛出它在你的模块中。但是我们需要注意的是rn只支持驼峰命名

import { Platform, StyleSheet, StatusBar } from 'react-native'
export default StyleSheet.create({container: {flex: 1,justifyContent: 'center',alignItems: 'center',backgroundColor: 'ghostwhite',...Platform.select({ios: { paddingTop: 20 },android: { paddingTop: StatusBar.currentHeight },}),},box: {width: 100,height: 100,justifyContent: 'center',alignItems: 'center',backgroundColor: 'lightgray',},boxText: {color: 'darkslategray',fontWeight: 'bold',},
})

然后我们看到刚才我写了这样一段代码,这里其实就是根据你的移动端去选择样式。

...Platform.select({ios: { paddingTop: 20 },android: { paddingTop: StatusBar.currentHeight },
}),

ok,我们看一下在rn组件中如何使用

import { Text, View } from 'react-native'
import styles from './styles'
export default function App() {return (<View style={styles.container}><View style={styles.box}><Text style={styles.boxText}>I'm in a box</Text></View></View>)
}

这些样式将通过样式属性分配给每个组件。我们来看看它的表现。

3、Styled-components样式组件库使用

Styled-components是一个css-in-js的库为我们的组件去提供样式,如我们去直接看看怎么使用吧。当然只是介绍一下,我们还是使用styleSheet

首先下载依赖


yarn add styled-components

然后我们写点代码

import styled from "styled-components/native";
const Box = styled.View'width: 100px;height: 100px;justify-content: center;align-items: center;background-color: lightgray;
';
const BoxText = styled.Text'color: darkslategray;font-weight: bold;
';

使用

const App = () => {
return (<Box><BoxText>I'm in a box</BoxText></Box>
);};

4、基础Flexbox

接下来主要讲一下rn中的几种常见布局和flexbox的实战

4.1、三栏布局

普通的从上到下的三栏布局。

你可以把view理解成div,text理解成p

import { Text, View } from 'react-native'
import styles from './styles'
export default function App() {return (<View style={styles.container}><View style={styles.box}><Text style={styles.boxText}>#1</Text></View><View style={styles.box}><Text style={styles.boxText}>#2</Text></View><View style={styles.box}><Text style={styles.boxText}>#3</Text></View></View>)
}

flexDirection属性是决定了主轴的方向,上到下或者左到右,而alignItemjustifyContent属性决定了元素的排列和间隔。


import { Platform, StyleSheet, StatusBar } from 'react-native'
export default StyleSheet.create({container: {flex: 1,flexDirection: 'column',alignItems: 'center',justifyContent: 'space-around',backgroundColor: 'ghostwhite',...Platform.select({ios: { paddingTop: 20 },android: { paddingTop: StatusBar.currentHeight },}),},box: {width: 300,height: 100,justifyContent: 'center',alignItems: 'center',backgroundColor: 'lightgray',borderWidth: 1,borderStyle: 'dashed',borderColor: 'darkslategray',},boxText: {color: 'darkslategray',fontWeight: 'bold',},
})

而如果我们想让它左右两边填满那?就像这样

我们可以加入alignSelf这个属性,这个属性的意思是根据主轴flexDirection的方向,改变宽度或者高度(column改变的就是宽度,row改变的就是高度)去填充空白,动态计算高度或宽度。像这样就是会填满你屏幕的宽度。

  box: {height: 100,justifyContent: 'center',// alignSelf: 'stretch',alignItems: 'center',backgroundColor: 'lightgray',borderWidth: 1,borderStyle: 'dashed',borderColor: 'darkslategray',},

当我们把手机横过去

我们稍微优化一下,正好也写一下横向的布局,上面的样式太`抽象`了写得。

 

import { Text, View, StatusBar } from 'react-native'
import styles from './styles'
import Box from './Box'
export default function App() {return (<View style={styles.container}><Box>#1</Box><Box>#2</Box></View>)
}

import { PropTypes } from 'prop-types'
import { View, Text } from 'react-native'
import styles from './styles'
export default function Box({ children }) {return (<View style={styles.box}><Text style={styles.boxText}>{children}</Text></View>)
}
Box.propTypes = {children: PropTypes.node.isRequired,
}

这个就是会拉伸至整个屏幕高度的横向布局

 

import { Platform, StyleSheet, StatusBar } from 'react-native'
export default StyleSheet.create({container: {flex: 1,flexDirection: 'row',backgroundColor: 'ghostwhite',alignItems: 'center',justifyContent: 'space-around',...Platform.select({ios: { paddingTop: 20 },android: { paddingTop: StatusBar.currentHeight },}),},box: {width: 100,justifyContent: 'center',alignSelf: 'stretch',alignItems: 'center',backgroundColor: 'lightgray',borderWidth: 1,borderStyle: 'dashed',borderColor: 'darkslategray',},boxText: {color: 'darkslategray',fontWeight: 'bold',},
})

我们来看看它的表现

当我们把手机横过去

5、稍微复杂一点的flexBox

假设我们要实现这样一个效果,我们该如何实现?

在我们的意识中,整个布局有。那我们同样也可以抽象出colrow组件分别代表行列。我们直接上代码吧。

可以看到我们分别确定了colrow的方向和排列。

import { Platform, StyleSheet, StatusBar } from 'react-native'export default StyleSheet.create({container: {flex: 1,flexDirection: 'column',backgroundColor: 'ghostwhite',alignItems: 'center',justifyContent: 'space-around',...Platform.select({ios: { paddingTop: 40 },android: { paddingTop: StatusBar.currentHeight },}),},box: {height: 100,width: 100,justifyContent: 'center',alignItems: 'center',borderWidth: 1,borderStyle: 'dashed',borderColor: 'darkslategray',backgroundColor: 'lightgray',},boxText: {color: 'darkslategray',fontWeight: 'bold',},row: {flex: 1,flexDirection: 'row',justifyContent: 'space-around',alignSelf: 'stretch',},column: {flex: 1,flexDirection: 'column',alignItems: 'center',justifyContent: 'space-around',alignSelf: 'stretch',},
})

组件部分

app

import { View, StatusBar } from 'react-native'
import styles from './styles'
import Row from './Row'
import Col from './Col'
import Box from './Box'
export default function App() {return (<View style={styles.container}><StatusBar hidden={false} /><Row><Col><Box>#1</Box><Box>#2</Box></Col><Col><Box>#3</Box><Box>#4</Box></Col></Row><Row><Col><Box>#5</Box><Box>#6</Box></Col><Col><Box>#7</Box><Box>#8</Box></Col></Row><Row><Col><Box>#9</Box><Box>#10</Box></Col><Col><Box>#11</Box><Box>#12</Box></Col></Row></View>)
}

col


import PropTypes from 'prop-types'
import { View } from 'react-native'
import styles from './styles'
export default function Column({ children }) {return <View style={styles.column}>{children}</View>
}Column.propTypes = {children: PropTypes.node.isRequired,
}

row


import PropTypes from 'prop-types'
import { View } from 'react-native'
import styles from './styles'
export default function Row({ children }) {return <View style={styles.row}>{children}</View>
}Row.propTypes = {children: PropTypes.node.isRequired,
}

import React from 'react'
import PropTypes from 'prop-types'
import { View, Text } from 'react-native'
import styles from './styles'
export default function Box({ children }) {return (<View style={styles.box}><Text style={styles.boxText}>{children}</Text></View>)
}Box.propTypes = {children: PropTypes.node.isRequired,
}

6、总结

欢迎加入群聊,我们一起讨论一些更有趣的技术、商业、闲聊。

http://www.dtcms.com/wzjs/315001.html

相关文章:

  • 深圳网站搭建价格武汉seo网站管理
  • 境外公司注册优化大师电脑版
  • python wordpress建站最近的电脑培训学校
  • 江西航达建设集团网站做神马seo快速排名软件
  • 下载专门做初中数学题的网站市场调研的重要性
  • 汕头网站优化电话如何免费做网站推广的
  • 手机网页制作公司排名郑州seo技术顾问
  • 网站后台怎样推荐图片网页制作app手机版
  • 宁乡市建设局网站清远疫情防控措施
  • 空间如何安装wordpress天津债务优化公司
  • 嘉兴做外贸网站的公司网站优化联系
  • 福州市工程建设质量管理网站网站优化要多少钱
  • 做系统去哪个网站好免费推广网站大全
  • 毕设代做网站百度应用市场下载安装
  • 做装饰材料的网站谷歌外链
  • 用wordpress建立导航网站自制网页
  • 建设工程168网站百度云引擎搜索
  • 网站上怎么做星星评分企业网站优化外包
  • 山东恒昆建设工程有限公司网站国家免费技能培训官网
  • 宁波十大口碑最好的装饰公司评论优化
  • 南昌做网站的公司网站建设优化哪家公司好
  • 机械网站建设注意什么查询网址域名
  • 临沂网站开发技术员微信软文案例
  • 网站在线客服软件百度搜索工具
  • 手机建设网站的目的网站建成后应该如何推广
  • 做海报的网站小白qq百度如何搜索网址
  • 做的好详情页网站系统优化app
  • 济南地区做企业网站的公司seo推广外包
  • 建设一个怎样的自己的网站传统营销
  • 怎么做网站代理商如何做好网络推广