allowoverlap的简单介绍

http://www.itjxue.com  2023-02-17 22:18  来源:未知  点击次数: 

react-grid-layout:可拖拽缩放网格布局插件

react-grid-layout

????React-Grid-Layout 是一个网格布局系统,具有响应性并支持断点(breakpoints)。断点布局可以由用户提供或自动生成。

RGL 仅支持 React,不支持 jQuery。

????使用npm安装 React-Grid-Layout:

????样式表:

????下面的示例将生成一个包含三个项目的网格,其中:

? ? 1.????用户将无法拖动或调整项目大小 a

? ? 2.????b 将被限制为最小宽度为 2 个网格块和最大宽度为 4 个网格块

? ? 3.????用户将能够自由拖动和调整项目大小 c

可以选择直接在子项上设置布局属性:

????ResponsiveReactGridLayout和ReactGridLayout采取width来计算拖动事件位置。在简单的情况下,WidthProvider可以使用HOC在初始化和窗口调整大小事件时自动确定宽度。

????// 除使用 WidthProvider情况外必填

? ?? width: number,

????// 如果为 true,容器高度自适应内容

? ?? autoSize: ?boolean = true ,

????//布局中的列数。

? ?? cols: ?number = 12 ,

????// 取消拖拽时的css选择器

? ?? draggableCancel: ?string = '' ,

????// 拖拽时的css选择器

? ?? draggableHandle: ?string = '' ,

????// 紧凑排列类型

? ?? compactType: ?( 'vertical' | 'horizontal' ) = 'vertical' ;

????// 布局,格式为数组对象,例如:

????// {x: number, y: number, w: number, h: number}

????// 布局中的索引必须与每个项目组件上使用的键匹配。

????// 如果您选择使用自定义键,则可以在布局中指定该键

????// 数组对象,如下所示:

????// {i: string, x: number, y: number, w: number, h: number}

????//如果父组件没有设置layout,则需要在子组件设置 data-grid

? ?? layout: ?array = null ,

????//? [x, y] 的margin值

? ?? margin: ?[number, number] = [ 10 , 10 ],

????//? [x, y] 的padding值

? ?? containerPadding: ?[number, number] = margin,

????// 行高,可根据 breakpoints 改变

? ?? rowHeight: ?number = 150 ,

????// 放置元素的配置。放置元素是一个从外部拖动某个元素时会出现的虚拟元素。

????//? i - 元素的id

????//? w - 元素的宽

????//? h - 元素的高

? ?? droppingItem?: { i : string, w : number, h : number }

????// 是否可拖拽

? ?? isDraggable: ?boolean = true ,

????//是否可重置大小

? ?? isResizable: ?boolean = true ,

????//是否可设置边界

? ?? isBounded: ?boolean = false ,

????// 使用 CSS3 translate() 替换position 的top/left ,可提升大约6倍性能

? ?? useCSSTransforms: ?boolean = true ,

????//如果 ResponsiveReactGridLayout 或 ReactGridLayout 的父节点具有 "transform: scale(n)" 属性,应该设置缩放系数以避免拖动时出现渲染伪影。

? ?? transformScale: ?number = 1 ,

????//是否允许重叠

? ?? allowOverlap: ?boolean = false ,

????//如果为 true,则网格项在被拖动时不会改变位置

? ?? preventCollision: ?boolean = false ,

????// 如果为true, 带有`draggable={true}`属性的放置元素可被放置在网格上

????//注意:如果使用 Firefox,应该添加

????// `onDragStart={e = e.dataTransfer.setData('text/plain', ' ')}` 属性

????// 连同 `draggable={true}` 否则此功能将无法正常工作。

????// Firefox 需要 onDragStart 属性来进行拖动初始化

????//

? ?? isDroppable: ?boolean = false ,

????// 重置大小时的操作位置,默认右下

????// 可选值:

????// 's' - South handle (bottom-center)

????// 'w' - West handle (left-center)

????// 'e' - East handle (right-center)

????// 'n' - North handle (top-center)

????// 'sw' - Southwest handle (bottom-left)

????// 'nw' - Northwest handle (top-left)

????// 'se' - Southeast handle (bottom-right)

????// 'ne' - Northeast handle (top-right)

? ?? resizeHandles: ? Array 's' | 'w' | 'e' | 'n' | 'sw' | 'nw' | 'se' | 'ne' = [ 'se' ],

????// 自定义重置大小图标

? ? ? resizeHandle?: ReactElement any | ((resizeHandleAxis: ResizeHandleAxis , ref: ReactRef HTMLElement ) = ReactElement any ),

????// 布局变化回调

? ?? onLayoutChange: (layout: Layout ) = void ,

????// 下面的所有回调都有签名(layout、oldItem、newItem、placeholder、e、element)。

????// 'start' 和 'stop' 回调为 'placeholder' 传递 `undefined`。

? ? ? type ItemCallback = (layout: Layout , oldItem: LayoutItem , newItem: LayoutItem , placeholder: LayoutItem , e: MouseEvent , element: HTMLElement ) = void ,

????// 拖拽开始回调

? ?? onDragStart: ItemCallback ,

????// 拖拽中回调

? ?? onDrag: ItemCallback ,

????// 拖拽停止回调

? ?? onDragStop: ItemCallback ,

????// 开始重置大小回调

? ?? onResizeStart: ItemCallback ,

????// 重置大小中的回调

? ?? onResize: ItemCallback ,

????// 重置大小结束回调

? ?? onResizeStop: ItemCallback ,

????// 当元素从外部放入网格时的回调。

? ?? onDrop : (layout: Layout , item: ? LayoutItem , e: Event ) = void ,

????// 当一个元素从外面拖过网格时调用, 此回调应返回一个对象以动态更改 dropItem大小

? ?? onDropDragOver : (e: DragOverEvent ) = ?({ | w?: number, h?: number | } | false ),

????// 可以使用它来代替常规 ref 和已弃用的 `ReactDOM.findDOMNode()` 函数

? ?? innerRef: ? React . Ref "div" ,

????// Breakpoint名称是任意的,但是必须在cols 和 layouts 对象中匹配。

? ?? breakpoints: ? Object = { lg : 1200 , md : 996 , sm : 768 , xs : 480 , xxs : 0 },

????// 列数

? ?? cols: ? Object = { lg : 12 , md : 10 , sm : 6 , xs : 4 , xxs : 2 },

????//[x,y]的margin

? ?? margin: [number, number] | {[breakpoint: $Keys breakpoints ]: [number, number]},

????// [x,y]的padding

? ?? containerPadding: [number, number] | {[breakpoint: $Keys breakpoints ]: [number, number]},

????// 布局配置

? ?? layouts: {[key: $Keys breakpoints ]: Layout },

????// breakpoint发生变更时的回调

? ?? onBreakpointChange: (newBreakpoint: string, newCols: number) = void ,

????// 布局发生变更时的回调

? ?? onLayoutChange: (currentLayout: Layout , allLayouts: {[key: $Keys breakpoints ]: Layout }) = void ,

????// 宽度改变时的回调,可以根据需要修改布局。

? ?? onWidthChange: (containerWidth: number, margin: [number, number], cols: number, containerPadding: [number, number]) = void ;

????{?

????????// 组件id

? ?????? i : string,?

????????// 以下单位为网格,不是px

? ?????? x : number,?

? ?????? y : number,?

? ?????? w : number,?

? ?????? h : number,?

? ?????? minW : ?number = 0 ,?

? ?????? maxW : ?number = Infinity ,?

? ?????? minH : ?number = 0 ,?

? ?????? maxH : ?number = Infinity , ?

????????// 如果为 true,则等于 `isDraggable: false, isResizable: false`。

? ?????? static : ?boolean = false ,?

????????// 如果为 false,则不可拖动。覆盖 `static`.?

? ?????? isDraggable : ?boolean = true ,?

????????// 如果为 false,则不可重置大小。覆盖 `static`.?

? ?????? isResizable : ?boolean = true , ?

????????// 默认情况下,调整大小图标仅显示在右下(东南)角。?

????????// 请注意,从顶部或左侧调整大小通常不直观。

? ?????? resizeHandles ?: ? Array 's' | 'w' | 'e' | 'n' | 'sw' | 'nw' | 'se' | 'ne' = [ 'se' ]?

????????//如果为 true 且可拖动,则项目将仅在网格内移动。

? ?????? isBounded: ?boolean = false

????}

披着羊皮的狼古诗词

1.披着羊皮的狼这则寓言故事出自

《披着羊皮的狼》出自古希腊的伊索寓言。

一只狼有一次披上羊皮,被牧人当作羊和别的羊一同关进了羊圈里,它正好可以随心所欲地吃羊。但是好事总不长久,因为有一天,牧人夜里进羊圈认出了狼。牧人把狼倒吊在树上,仍旧让它披着羊皮,用来告诫那些在周围活动的其它的狼。

有几个牧人经过时发现了,停下来问那位牧人为什么要这样对待羊。再靠近些他们才发现,这根本不是羊,而是一只狼。

牧人说:“这就是我对待狼的方法,哪怕它披上了羊皮。”

寓意: 事物的外表有时候会掩盖它的本质,所以我们不能只凭表面现象就作判断。

2.披着羊皮的狼,刺猬洗澡,如意金箍棒,十面埋伏都是什么意思

披着羊皮的狼:指的是大多形容人面兽心的伪君子。

刺猬洗澡:指的是没有人愿意给它搓背!

如意金箍棒:指的是孙悟空专用武器,仙器级别。

十面埋伏: 设伏兵于十面以围歼敌军。指周围布置了重重埋伏。

伊索寓言:披着羊皮的狼

●狼想吃羊,但是他害怕警惕的牧羊人和牧羊犬,

●有一天狼发现了一块羊皮,便披着它混入羊群。

●一只小羊羔把这只披着羊皮的狼误认为自己的妈妈,被领出了羊群。

●狼成功地欺骗了羊群,吃掉了小羊羔。

寓意: 事物的外表有时候会掩盖它的本质,所以我们不能只凭表面现象就作判断。

十面埋伏【成语故事】:

秦朝末年,韩信属于楚军的行列,曾经多次参加战争,但是始终没有得到重用。后来楚军由项羽指挥,可是项羽却不肯重用韩信,因此他决定到刘邦领导的汉军中找出路。韩信本来就不是什么出名人物,所以到了汉军中间他还是没有机会,等了很长一段时间,可是还是没有任何音讯,最后又无奈又生气的韩信只好不告而别。汉军大将萧何知道韩信是个难得的人才,因此立刻快马加鞭把韩信给追了回来,然后又禀告汉王让韩信做了大将。

韩信做了大将后,取得了关中的三秦之地,当韩信打败齐国的同时,汉王正被楚霸王项羽逼得走投无路,这时韩信要求做齐王,汉王无奈只好答应,韩信率军三十万攻占了苏北,把项羽的楚军围在垓下,还专门针对项羽的骁勇采用了步步为营、的战术,终于打败了项羽的楚军。

如意金箍棒:在神魔小说《西游记》中,帮助孙悟空在西天取经路上降妖除魔最得力的兵器就是如意金箍棒。从乱地府到闹天宫,从两界山到天竺国,这条神奇的棍子几乎与悟空形影不离,在与妖魔鬼怪斗法过程中,孙行者不止一次夸赞金箍棒的种种好处,得意和自豪之情毫不掩饰。

3.披着羊皮的狼的故事

A wolf wanted to eat the sheep, but he was afraid of the vigilant shepherd and his dogs.

One day the wolf found the skin of a sheep. He put it on and walked among the sheep.

A lamb thought that the wolf was its mother because his skin looked like hers. So it followed the wolf.

Soon after they had left the dogs, the wolf came at the lamb and ate it up. For some time he succeeded in deceiving the sheep, and enjoying hearty meals.

IT/AION: absolute; HEIGHT: 108pt; TEXT-ALIGN: left; mso-wrap-distance-left: 0; mso-wrap-distance-right: 0; mso-position-horizontal: left; mso-position-horizontal-relative: text; mso-position-vertical-relative: line" type="#_x0000_t75" alt="" o:allowoverlap="f"gt; 披着羊皮的狼

狼想吃羊,但是他害怕警惕的牧羊人和牧羊犬。

有一天狼发现了一块羊皮,便披着它混入羊群。

一只小羊羔把这只披着羊皮的狼误认为自己的妈妈,被领出了羊群。

狼成功地欺骗了羊群,吃掉了小羊羔。

寓意: 事物的外表有时候会掩盖它的本质,所以我们不能只凭表面现象就作判断。

word图片格式?

图一是非嵌入型图片,图二是嵌入型图片,简单的说,你可以把嵌入型图片理解成一个大文字,可以像文字一样调整对齐、行距,甚至是自动编号。

那么,以后如何让插入的图片是嵌入型图片,我们需要点击文件-选项-高级-剪切、复制和粘贴-将图片插入、粘贴为:嵌入型

知识扩展:

如文中有很多图片,其中有很多是非嵌入型,如何批量将图片从非嵌入型转化成嵌入型,又或者,如何批量将嵌入型转化成其他非嵌入型,这时候我们会用到vba功能。

alt+f11打开vb编辑器,插入-模式-输入以下代码,然后按f5运行

然后会提示你,按需要点击是或者否

如果点击否,那么会将所有图片变成嵌入型

如果点击是,那么会弹出窗口,让你输入数字,根据你需要的不同,输入数字

Sub 转换图片的版式()

? Dim oShape As Variant, shapeType As WdWrapType

? On Error Resume Next

? If MsgBox("按“是”将图片由嵌入式转为浮动式? , 将“否”图片由浮动式转为嵌入式", 68) = 6 Then

? ? ? shapeType = Val(InputBox(Prompt:="请输入图片版式:0=四周型,1=紧密型, " vbLf "3=衬于文字下方,4=浮于文字上方", Default:=0))

? ? ? For Each oShape In ActiveDocument.InlineShapes

? ? ? ? ? Set oShape = oShape.ConvertToShape

? ? ? ? ? With oShape

? ? ? ? ? ? ? Select Case shapeType

? ? ? ? ? ? ? Case 0, 1

? ? ? ? ? ? ? ? ? .WrapFormat.Type = shapeType

? ? ? ? ? ? ? Case 3

? ? ? ? ? ? ? ? ? .WrapFormat.Type = 3

? ? ? ? ? ? ? ? ? .ZOrder 5

? ? ? ? ? ? ? Case 4

? ? ? ? ? ? ? ? ? .WrapFormat.Type = 3

? ? ? ? ? ? ? ? ? .ZOrder 4

? ? ? ? ? ? ? Case Else

? ? ? ? ? ? ? ? ? Exit Sub

? ? ? ? ? ? ? End Select

? ? ? ? ? ? ? .WrapFormat.AllowOverlap = False

? ? ? ? ? End With

? ? ? Next

? Else

? ? ? For Each oShape In ActiveDocument.Shapes

? ? ? ? ? oShape.ConvertToInlineShape

? ? ? Next

? End If

End Sub

(责任编辑:IT教学网)

更多