首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React Native学习笔记(三)—— 样式、布局与核心组件

整个区域会根据每个元素设置的 flex 属性值被分割成多个部分 在下面的例子中,在设置了宽高为100%的容器中,有红色、黄色和绿色三个子 View,红色设置了 flex:1,黄色设置了 flex:2,绿色设置了...position类型决定了其在父元素中的位置 position 取值: relative:(默认值),元素的位置取决于文档流 absolute:元素会脱离正常的文档流 import {StyleSheet...)宽高 在组件中使用 flex 可以使其在可利用的空间中动态地扩张或收缩,一般会使用 flex:1 来指定某个组件扩张以撑满所有剩余的空间 如果有多个并列的子组件使用了 flex:1,则这些子组件会平分父容器的剩余的空间...default function DimensionsDemo() { return ( {/* 注意看父容器是没有指定宽高的...,可能会出现下列尴尬画面 repeat:图片重复并铺满屏幕(不支持android) center:图片不拉伸不缩放且居中 最后提醒一下大家,ImageBackground组件中的resizeMode是无效的

14.3K31

前端面试之CSS重点概念精讲

,占据空间(3个) visibility:hidden relative + z-index负值 opacity:0 元素不可见,不占空间 其他特点:辅助设备无法访问,同时不渲染 <script...❞ CSS3中,z-index已经并非只对定位元素有效,flex盒子的「子元素」也可以设置z-index属性。...,只需要考虑后代元素 每个层叠上下文是自成体系的,当元素发生层叠的时候,整个元素被认为是在父层叠上下文的层叠顺序中 层叠上下文的创建(3类) 由一些CSS属性创建 「天生派」 「页面根元素天生具有层叠上下文...的值为absolute或fixed 应用场景 防止margin重叠 将位于同一个BFC的元素,分割到不同的BFC中 高度塌陷 --- 「计算BFC的高度时,浮动子元素也参与计算」 子元素浮动 父元素...默认值为auto」,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

2.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSS 基础系列:从清除浮动和margin塌陷问题谈BFC

    不推荐) 给浮动元素的父元素设置 overflow: hidden(触发 BFC) 1.2 原理 这里主要说下 clear:both。...父元素没有 border-bottom 设置 父元素没有 padding-bottom 值 父元素和第一个子元素之间没有inline元素分隔 父元素没有 height,min-height,max-height...或 fixed; display 的值为 inline-block、table-cell、table-caption、table、flex、inline-flex、flow-roottable 本身不生成...如下图,每个节点、元素都有属于自己的可见或不可见、有名或匿名的盒模型,可视化格式模型即规定了这些盒、框框如何整齐地排列在页面中,还有盒子之间的相互作用。...设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。 伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。

    2.5K10

    CSS 基础系列:flex 布局

    前者会将元素作为块状弹性容器,若没有指定宽度,默认撑满一整行;后者会将元素作为内联弹性容器,若没有指定宽度,默认由内容撑开。...2.1 基本概念 1)父容器和子项目 设置了 display:flex 或者 display:inline-flex 的元素将成为父容器 (flex container) ,其内部所有子元素成为子项目...flex align-self order 属性定义子项目的排列顺序,它会覆盖 HTML 结构中的顺序。...0.3 / 1 = 45px 150px - 15px - 30px - 45px = 60px,可见还有 60px 没有分配给任何子项目。...flex-basis 属性定义了子项目在不伸缩(即没有以上两个属性影响)时的原始尺寸,主轴水平时表示宽度,主轴垂直时表示高度。默认值为 auto。

    1.6K10

    2022高频前端面试题——CSS篇

    但是在不同的设备之间每个设备像素所代表的物理长度是可以变化的,这点表现的是相对性 em是一个相对长度单位,具体的大小需要相对于父元素计算,比如父元素的字体大小为80px,那么子元素1em就表示大小和父元素一样为...默认值为 auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。 6....参考回答: 结构:display:none: 会让元素完全从渲染树中消失,渲染的时候不占据任何空间, 不能点击, visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见...(携程) 参考回答: 这个是 flex 布局的内容,其实就是一个边距的区别,按水平布局来说,space-between是两端对齐,在左右两侧没有边距,而space-around是每个 子项目左右方向的...为了消除它们之间的歧义,我们将其归为三大类: 完全隐藏:元素从渲染树中消失,不占据空间。 视觉上的隐藏:屏幕中不可见,占据空间。 语义上的隐藏:读屏软件不可读,但正常占据空。

    1.4K30

    weex-07-通用布局

    本节学习目标 掌握基本的布局方式 致读者 之后的文章 你可能会看到 标签 视图 控件这样的字眼 代表的都是一个意思 因为在网页中我们叫标签 在原生应用中我们称之为视图或控件 先来看一下我们vue文件的结构... // 页面有那些元素 写在这里 // 使用div 标签定义一个父容器 // class 代表div使用的是哪个样式类 // 一个样式可以被多个标签元素使用 <div...; } 此时刷新网页 是没有任何变化的,来解释一下 display:flex 设置root 标签的子标签的布局方式为flex 弹性布局 flex-direction:column 子标签排列的方式为垂直排列...,因为我们的样式还没有设置,接下来我们设置子标签的样式 ?...0330F481-BD42-4769-A3F6-CF59333407E4.png 弹性布局暂时就讲到这里,后面我们在将组件的时候在详细讲解,这样记忆比较深刻,也不枯燥! 接下来演示一下定位的使用 ?

    69510

    「资深前端工程师总结」前端面试知识点大全——html篇

    HTML5中的datalist是什么? HTML5中的Datalist元素有助于提供文本框自动完成特性。 HTML5中什么是输出元素? 当你需要计算两个输入的和值到一个标签中的时候你需要输出元素。...; } 只需设置父节点属性,无需设置子元素 flex有兼容性问题 垂直居中 垂直居中:vertical-align:middle; 父元素高度不确定的文本,图片,块级元素的竖直居中:给父元素设置相同的上下边距实现...但如果绝对定位元素是唯一的元素则父元素也会失去高度。...主要就使用position、flex 、table(从很久很久以前起,我们就抛弃了table布局页面,但display: table;是异常强大)、float等属性目前flex兼容性较差 flex的基础知识...默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch,其他属性值和align-items的属性值一样 order属性定义项目的排列顺序 数值越小,排列越靠前

    2K31

    CSS笔记

    white-space 设置元素中空白的处理方式,pre不忽略空白符、nowrap忽略换行、pre-wrap、pre-line。 word-spacing 设置字间距。 3....隐藏模块 opacity 属性 指定了一个元素的透明度,0:元素完全透明(即元素不可见);(0.0-1.0):元素半透明(即元素后面的背景可见);1:元素完全不透明(即元素后面的背景不可见)。...隐藏溢出 当父div拥有固定的高度时 2. 清除浮动 当父元素的高height:auto时 3. 解除坍塌 10....击穿Scoped 使用 scoped 后,父组件的样式将不会渗透到子组件中。如果希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符。...默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

    2.2K10

    前端面试题归类-css的flex相关

    :设置主轴上的子元素排列方式flex-start 默认值从头部开始 如果主轴是x轴,则从左到右flex-end 从尾部开始排列(但元素的顺序还是从左到右)center 在主轴居中对齐(如果主轴是x轴则水平居中...flex-wrap属性定义 , flex布局中默认是不换行的。...,再平分剩余空间stretch 设置子项元素高度平分父元素高度●align-items :设置侧轴上的子元素排列方式(单行)该属性是控制子项在侧轴(默认是y轴).上的排列方式在子项为单项(单行)的时候使用...默认值为auto ,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。...,flex:n L;= flex-grow:n; flex-shrink:1; flex-basis:L;可以发现,flex-grow和flex-shrink在flex属性中不规定值则为1,flex-basis

    74240

    React Native布局详细指南

    但大家在做React Native开发时大可不必担心FlexBox的兼容性问题,因为既然React Native选择用FlexBox布局,那么React Native对FlexBox的支持自然会做的很好...像素无关 在React Native中尺寸是没有单位的,它代表了设备独立像素。...中默认align-items:'flex-start' flex: 相比Web CSS的flex接受多参数,如:flex: 2 2 10%;,但在 React Native中flex只接受一个参数 不支持属性...') justifyContent属性定义了浏览器如何分配顺着父容器主轴的弹性(flex)元素之间及其周围的空间,默认为flex-start。...auto(default) 元素继承了它的父容器的 align-items 属性。如果没有父容器则为 “stretch”。 stretch 元素被拉伸以适应容器。 center 元素位于容器的中心。

    2.7K30

    React Native布局详细指南

    但大家在做React Native开发时大可不必担心FlexBox的兼容性问题,因为既然React Native选择用FlexBox布局,那么React Native对FlexBox的支持自然会做的很好...像素无关 在React Native中尺寸是没有单位的,它代表了设备独立像素。...中默认align-items:'flex-start' flex: 相比Web CSS的flex接受多参数,如:flex: 2 2 10%;,但在 React Native中flex只接受一个参数 不支持属性...') justifyContent属性定义了浏览器如何分配顺着父容器主轴的弹性(flex)元素之间及其周围的空间,默认为flex-start。...auto(default) 元素继承了它的父容器的 align-items 属性。如果没有父容器则为 “stretch”。 stretch 元素被拉伸以适应容器。 center 元素位于容器的中心。

    3.6K40

    div 等块级标签横向排列的方法总结

    横排成功~但同样有些问题: inline-block 特点: 元素间会有空白。...这个空白其实是空白符,因为 inline-block 会使元素在行内排列,也就是跟文字在一起排列,而我们源代码中 div 和 div 之间的空格、Tab、换行符在浏览器里会被合并成一个空白符,所以就会出现缝隙...,常见的解决方案有: 通过给父元素设置 font-size: 0; ,使空白符不可见。...flex 弹性盒模型 最爱的解决方案,给父元素设置 display: flex; 即可 ? 效果图: ? 还可以通过 justify-content 属性调整子元素的水平对齐方式: ?...不过当父元素宽度不够时, flex 默认是不会换行的,而是会等比例压缩,缩放比例 flex-shrink 属性或复合属性 flex 相关。 ?

    3.3K20

    前端基础篇css

    100%将会继承父元素的宽度 块状元素默认宽度为100% 注:宽度自适应主要应用在通栏效果中 二、高度自适应 语法:height:auto; 或不设置高度 注:容器的高度由里面内容来决定 三、最大,最小高度...0称为高度塌陷问题 a)给父元素一个固定的高度 父元素{height:value;} 缺点:给父元素固定的高度违背了高度自适应的原则,不建议使用 b) 给父元素添加overflow:hidden; 优点...flex-end 对齐交叉轴的终点 center 以交叉轴为参考,居中对齐 baseline flex项目第一行文字基线对齐 stretch flex项目没有设置高度或者为auto,将占满整个父元素的高度...:center;align-items:center;} ★ 如何使用flex布局实现不定宽高的子元素在父元素中水平垂直都居中,方法如下: 父元素{display:flex;justify-content...,居中对齐 space-between 轴线两端对齐,中间间隔相等 space-around 轴线间两侧间隔相等 stretch flex项目没有设置高度或者高度为auto,将占满整个父元素的高度 ◆

    1.7K30

    图片横向等高瀑布流,每行占满,限制行数 的实现

    图片的横向瀑布流,其实简单地按顺序排列就可以了 但要实现每行中各图片都等高(各行不一定等高,但每行里面等高),且每行都占满,就需要用到flex的特性了 控制每行图片高度都一致,可能会影响图片的比例,所以不能简单暴力地设置高度...flex-grow 与 width的值一致,用以按比例分配每行剩余空间 另外可以看到这里有个 padding-top 的百分比值 我们都知道  padding-top 的百分比值是基于父元素的宽度来计算的...,根据盒模型,一般这种计算方式是为了获取固定宽高比 当父元素有宽度,但高度为0时,整体高度则由padding-top值来撑开,则父元素就有了一个设定的宽高比, 同时我们将子元素(这里是图片)position...值设置为absolute,宽高占满父元素,则子元素图片也有了一定的宽高比,实现按比例的图片缩放 来看看对应的样式设置 body { background-color: #f2f2f2; } ....还要一个问题,如何实现只显示三行 显示三行,每行的图片数量不固定,这是通过flex布局自动排列每一行的,都会经过 基本排列 -> 分配剩余空间 的步骤 目前想到的方法是对每一行的容器所占位置进行累加,最后对比即可

    2K60

    React Native UI界面还原,组件布局与动画效果

    Flexbox构建响应式App的最佳选择——CSS中的表现不太一致,React-Native并不是为web元素而生,不能像web 应用在html里面使用CSS这里还是体现了Weex...宽高单位与布局调整RN中宽高可以直接通过style指定,与web不同的是,RN中尺寸是无单位的,表示与设备像素无关的逻辑像素点。在组件样式中使用flex可以使其在可利用的空间中动态地扩张或收缩。...与android类似,flex的优先级是高于width的。...尤其是当布局变化可能影响到父节点(譬如“查看更多”展开动画既增加父节点的尺寸又会将位于本行之下的所有行向下推动)时,如果不使用LayoutAnimation,可能就需要显式声明组件的坐标,才能使得所有受影响的组件能够同步运行动画...注意尽管LayoutAnimation非常强大且有用,但它对动画本身的控制没有Animated或者其它动画库那样方便,所以如果你使用LayoutAnimation无法实现一个效果,那可能还是要考虑其他的方案

    4.8K20
    领券