百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Angular布局利器FlexLayout angular draggable

yuyutoo 2024-10-25 19:18 5 浏览 0 评论

Flex Layout布局

安装

要在Angular CLI项目中使用@angular/flex-layout相当简单,只需要两个步骤:

  1. 安装组件指令: npm install --save @angular/flex-layout
  2. 将Angular Flex Layout导入到app.module中

Angular Flex Layout简介

Angular Flex Layout底层使用FlexBox CSS + mediaQuery来实现页面布局的设计,FlexBox的基本模型请参考下图:

FlexBox主要角色为主容器(flex-container)和子元素(flex-item),主容器来包各项子元素并控制子元素的排列方式。

使用方式

Angular Flex Layout中,HTML API可以分为以下三类:

  • 容器类 Containers
  • 子容器类 Child Elements within Containers
  • 特殊响应功能 Special Response Features

容器类

建立一个FLexBox容器,其中可以包含一个以上的Flex子元素。

  • fxLayout
  • 控制容器内子元素的排版方向
  • 范例: <div fxLaout="row" fxLayout.xs="column"></div>
  • 设定值:
  • row: 预设值,由左到右,从上到下
  • column: 从上到下,再由左到右
  • row-reverse: 与row相反
  • column-reverse: 与column相反
  • wrap: 多行
  • fxLayoutWrap
  • 控制容器内子元素的排版方式采用多行方式排列
  • 范例: <div fxLayoutWrap></div>
  • fxLayoutGap
  • 控制容器内子元素的建个
  • 范例:<div fxLayoutGap="10px"> </div>
  • 设定值: 可以接受这些单位%、px、vw、vh
  • fxLayoutAlign
  • 控制容器内子元素的对齐方式
  • 范例:<div fxLayoutAlign="start stretch"> </div>
  • 设定值:
  • main-aixs: start、center、end、space-around、space-between
  • cross-axis: start、center、end、stretch

子元素类

  • fxFlex
  • 控制子元素大小,以及如何自动增长或收缩大小
  • 范例:<div fxFlex="1 2 calc(15em + 20px)"></div>
  • 设定值:
  • 可接受这些单位 %、px、vw、vh
  • 设定值顺序:<grow> <shrink> <basis>
  • fxFlexOrder
  • 定义排列顺序
  • 范例: <div fxFlexOrder="2"></div>
  • 设定值: int
  • fxFlexOffset
  • 设定子元素的偏移
  • 范例:<div fxFlexOffset="20px"></div>
  • 设定值:可接受这些单位 %、px、vw、vh
  • fxFlexFill
  • 最大化子元素,将子元素的width和height撑到最大
  • 范例: <div fxFlexFill></div>

当中fxFlex有很大的变化单行可以设定,它由三个属性组合而成,依照先后顺序分别是flex-grow、flex-shrink 和 flex-basis,三个属性的解释如下:

  • flex-grow
  • 当子元素的flex-basis长度小于它父元素分配到的长度,按照数字做相对应的伸展比例分配
  • 数字,无单位,预设值为1,设为0的话不会进行弹性变化,不可为负值
  • flex-shrink
  • 当子元素flex-basis长度大于它从父元素分配到的长度,按照数字做对应的压缩比例分配
  • 数字,无单位,预设值为1,设为0的话不会进行弹性变化,不可为负值
  • flex-basis
  • 子元素的基本大小,作为父元素的大小比较基准
  • 预设值为0, flex-basis也可以设为auto,表示子元素以自己的基本大小为单位

特殊响应功能

FlexBox CSS本身无法控制DOM的显示与否,透过此特殊响应功能,方便我们控制容器或子元素的显示。

  • fxShow
  • 设定显示条件
  • 范例: <div fxShow [fxShow.xs]="isVisibleOnMobile()"></div>
  • fxHide
  • 设定隐藏条件
  • 范例:<div fxHide [fxHide.gt-sm]="isVisibleOnDesktop()"></div>
  • ngClass
  • 强化Angular中ngClass的样式设定
  • 范例:<div [ngClass.sm]="{'fxClass-sm': hasStyle}"></div>
  • ngStyle
  • 强化Angular中的ngStyle的样式设定
  • 范例:<div [ngStyle.xs]="{'font-size.px': 10, color: 'blue'}"></div>

响应断点

响应式的关键在于控制断点,上图中间蓝色那行就是定义断点的范围,而在上面的范例中你可能会看到像fxLayout.xs这样的写法,这就是在控制主容器在xs断点下的布局方式,断点设定方式及适用范围请参考下表:

这里你会看到lt和gt这样的前缀次,分别是代表less then和greater then的意思。

相关推荐

Mysql和Oracle实现序列自增(oracle创建序列的sql)

Mysql和Oracle实现序列自增/*ORACLE设置自增序列oracle本身不支持如mysql的AUTO_INCREMENT自增方式,我们可以用序列加触发器的形式实现,假如有一个表T_WORKM...

关于Oracle数据库12c 新特性总结(oracle数据库19c与12c)

概述今天主要简单介绍一下Oracle12c的一些新特性,仅供参考。参考:http://docs.oracle.com/database/121/NEWFT/chapter12102.htm#NEWFT...

MySQL CREATE TABLE 简单设计模板交流

推荐用MySQL8.0(2018/4/19发布,开发者说同比5.7快2倍)或同类型以上版本....

mysql学习9:创建数据库(mysql5.5创建数据库)

前言:我也是在学习过程中,不对的地方请谅解showdatabases;#查看数据库表createdatabasename...

MySQL面试题-CREATE TABLE AS 与CREATE TABLE LIKE的区别

执行"CREATETABLE新表ASSELECT*FROM原表;"后,新表与原表的字段一致,但主键、索引不会复制到新表,会把原表的表记录复制到新表。...

Nike Dunk High Volt 和 Bright Spruce 预计将于 12 月推出

在街上看到的PandaDunk的超载可能让一些球鞋迷们望而却步,但Dunk的浪潮仍然强劲,看不到尽头。我们看到的很多版本都是为女性和儿童制作的,这种新配色为后者引入了一种令人耳目一新的新选择,而...

美国多功能舰载雷达及美国海军舰载多功能雷达系统技术介绍

多功能雷达AN/SPY-1的特性和技术能力,该雷达已经在美国海军服役了30多年,其修改-AN/SPY-1A、AN/SPY-1B(V)、AN/SPY-1D、AN/SPY-1D(V),以及雷神...

汽车音响怎么玩,安装技术知识(汽车音响怎么玩,安装技术知识视频)

全面分析汽车音响使用或安装技术常识一:主机是大多数人最熟习的音响器材,有关主机的各种性能及规格,也是耳熟能详的事,以下是一些在使用或安装时,比较需要注意的事项:LOUDNESS:几年前的主机,此按...

【推荐】ProAc Response系列扬声器逐个看

有考牌(公认好声音)扬声器之称ProAcTablette小音箱,相信不少音响发烧友都曾经,或者现在依然持有,正当大家逐渐掌握Tablette的摆位设定与器材配搭之后,下一步就会考虑升级至表现更全...

#本站首晒# 漂洋过海来看你 — BLACK&amp;DECKER 百得 BDH2000L无绳吸尘器 开箱

作者:初吻给了烟sco混迹张大妈时日不短了,手没少剁。家里有了汪星人,吸尘器使用频率相当高,偶尔零星打扫用卧式的实在麻烦(汪星人:你这分明是找借口,我掉毛是满屋子都有,铲屎君都是用卧式满屋子吸的,你...

专题|一个品牌一件产品(英国篇)之Quested(罗杰之声)

Quested(罗杰之声)代表产品:Q212FS品牌介绍Quested(罗杰之声)是录音监听领域的传奇品牌,由英国录音师RogerQuested于1985年创立。在成立Quested之前,Roger...

常用半导体中英对照表(建议收藏)(半导体英文术语)

作为一个源自国外的技术,半导体产业涉及许多英文术语。加之从业者很多都有海外经历或习惯于用英文表达相关技术和工艺节点,这就导致许多英文术语翻译成中文后,仍有不少人照应不上或不知如何翻译。为此,我们整理了...

Fyne Audio F502SP 2.5音路低音反射式落地音箱评测

FyneAudio的F500系列,有新成员了!不过,新成员不是新的款式,却是根据原有款式提出特别版。特别版产品在原有型号后标注了SP字样,意思是SpecialProduction。Fyne一共推出...

有哪些免费的内存数据库(In-Memory Database)

以下是一些常见的免费的内存数据库:1.Redis:Redis是一个开源的内存数据库,它支持多种数据结构,如字符串、哈希表、列表、集合和有序集合。Redis提供了快速的读写操作,并且支持持久化数据到磁...

RazorSQL Mac版(SQL数据库查询工具)

RazorSQLMac特别版是一款看似简单实则功能非常出色的SQL数据库查询、编辑、浏览和管理工具。RazorSQLformac特别版可以帮你管理多个数据库,支持主流的30多种数据库,包括Ca...

取消回复欢迎 发表评论: