<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sketch on Victor42</title><link>https://victor42.eth.limo/tags/sketch/</link><description>Recent content in Sketch on Victor42</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hi@victor42.work (Victor42)</managingEditor><webMaster>hi@victor42.work (Victor42)</webMaster><lastBuildDate>Sun, 26 Feb 2017 00:57:13 +0000</lastBuildDate><atom:link href="https://victor42.eth.limo/tags/sketch/index.xml" rel="self" type="application/rss+xml"/><item><title>Stack自动布局：Sketch中的Flexbox</title><link>https://victor42.eth.limo/post/3541/</link><pubDate>Sun, 26 Feb 2017 00:57:13 +0000</pubDate><author>hi@victor42.work (Victor42)</author><guid>https://victor42.eth.limo/post/3541/</guid><description>&lt;p&gt;&lt;strong&gt;[国外设计第164期]&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Skacks会彻底改变你对Sketch布局方式的理解。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-IjqstHVq3OGLQtqYACVgNA.gif"
loading="lazy"
alt="Sketch自动布局插件Auto Layout 0.2.0版本介绍，展示Stacks Flexbox布局功能，蓝色背景上有手机模型和黄色矩形元素"
&gt;&lt;/p&gt;
&lt;p&gt;就像&lt;a class="link" href="https://css-tricks.com/snippets/css/a-guide-to-flexbox/" target="_blank" rel="noopener"
&gt;CSS中的Flex Box&lt;/a&gt;、iOS中的&lt;a class="link" href="https://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views" target="_blank" rel="noopener"
&gt;UIStackView&lt;/a&gt;和Android中的&lt;a class="link" href="https://github.com/google/flexbox-layout" target="_blank" rel="noopener"
&gt;FlexboxLayout&lt;/a&gt;——&lt;strong&gt;Stack&lt;/strong&gt;的自动布局可以再次改变整个局面。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sketch用户终于可以在不用CSS的情况下，直接使用Flexbox的排版技术。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我们相信，推动设计生态前进的关键在于，创造出强大的设计概念。&lt;/p&gt;
&lt;p&gt;Flexbox已经彻底改变了局面，它出现已有好几年了。但要使用它，你得在浏览器中使用CSS来设计，因此对于多数设计师可望不可及。&lt;/p&gt;
&lt;p&gt;Stack是另一种形式的Flexbox，它更直观，但能力丝毫不减。它能使设计师以列、行、网格的思维来思考设计——使设计更加一致。&lt;/p&gt;
&lt;h2 id="stack是什么"&gt;&lt;strong&gt;Stack&lt;/strong&gt;是什么？
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Stack&lt;/strong&gt;是一种特殊的&lt;em&gt;组&lt;/em&gt;，定义了其内部&lt;em&gt;图层&lt;/em&gt;的布局方式。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-uHeThlg0lB65kTcUkrSJQg.png"
loading="lazy"
alt="Sketch图层面板中Stack Group与普通Group的图标对比，Stack Group使用特殊蓝色图标并带有方向指示箭头"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Stack组的图标是一种特殊的蓝色，上面还有图标来表示方向。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-7NbmCjfNNEwSnh0gTD7vnQ.png"
loading="lazy"
alt="Sketch Auto Layout面板中的Stack设置界面，包含垂直水平方向切换、四种对齐方式按钮、间距输入框和Unstack按钮"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;要使图层变为Stack模式，在Auto-Layout面板中点击Stack按钮。&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;小提示：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stacks&lt;/strong&gt;能产生&lt;strong&gt;一致性&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一致性&lt;/strong&gt;使设计&lt;strong&gt;清晰&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stacks&lt;/strong&gt;能使设计&lt;strong&gt;清晰&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;一个Stack组有3个属性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;方向&lt;/em&gt;：定义其内部图层按照&lt;em&gt;水平&lt;/em&gt;还是&lt;em&gt;垂直&lt;/em&gt;方式排列。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-sAimwEhMxx2WwM1Ah76-AA.gif"
loading="lazy"
alt="Sketch Stack方向属性演示，三个红色矩形Child 1、Child 2、Child 3在水平排列和垂直排列之间切换的动画"
&gt;
&lt;em&gt;方向&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;对齐&lt;/em&gt;：包括顶对齐、中央对齐、底对齐、伸展。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-rzprFGD1zbB2PpCwJnQ-vg.gif"
loading="lazy"
alt="Sketch Stack对齐属性演示，三个红色矩形Child 1、Child 2、Child 3展示顶对齐、居中对齐、底对齐和伸展对齐四种模式"
&gt;
&lt;em&gt;对齐&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;间距&lt;/em&gt;：定义其中每个元素的间距。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-gEkN2HgGCHq8fCXfCFbJ6Q.gif"
loading="lazy"
alt="Sketch Stack间距属性演示，三个红色矩形Child 1、Child 2、Child 3之间的间距数值动态调整，元素间距实时变化"
&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Stack可以嵌套使用！&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-bkdGZNtR8MeedhcouuLHSw.gif"
loading="lazy"
alt="Sketch Stack嵌套布局演示，外层Stacked Group包含多个子组，Child 1.1嵌套在Group 1内部，展示Stack组可以多层嵌套使用"
&gt;&lt;/p&gt;
&lt;h2 id="来解这道题"&gt;来解这道题！
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;90%的设计师第一次都会理解错！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;下图由多少个&lt;em&gt;Stack组&lt;/em&gt;构成：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-uQTR5Fw0VMrmVrF9EeHL9w.png"
loading="lazy"
alt="Stack嵌套练习题：Anima Viewer App应用商店界面截图，包含应用图标、标题Anima Viewer App、开发者AnimaApp、分类Essentials和星级评分"
&gt;&lt;/p&gt;
&lt;p&gt;正确答案是：3。&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-1zBHWsMzI011GOTQSk8SxA.png"
loading="lazy"
alt="Stack嵌套练习题答案图解：绿色外框为最外层横向Stack组，蓝色中框为纵向Stack组含4个元素，红色内框为横向Stack组含星星和评分，共3个Stack组"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Stack组的图标是一种特殊的蓝色，上面还有图标来表示方向。&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;最里层&lt;em&gt;横向排列&lt;/em&gt;的红色线框Stack组，其中有2个元素：星星和评论数。&lt;/li&gt;
&lt;li&gt;中间层&lt;em&gt;纵向排列&lt;/em&gt;的蓝色线框Stack组，其中有4个元素：应用名称、作者、分类、红色Stack组。&lt;/li&gt;
&lt;li&gt;最外层&lt;em&gt;横向排列&lt;/em&gt;的绿色线框Stack组，其中有2个元素：应用图标和蓝色Stack组。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="stack的实用诀窍"&gt;Stack的实用诀窍：
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Stack很适合用于定义&lt;strong&gt;同级&lt;/strong&gt;图层间的排列规则。&lt;/li&gt;
&lt;li&gt;在Stack组里增加或删除元素，会重新排列其中图层。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-Wl2bIzICvEbiNIm_WTDPtg.gif"
loading="lazy"
alt="Sketch Stack自动重排演示，删除Group 2后Child 1和Child 3自动重新排列填补空缺，展示Stack组增删元素时的智能布局调整"
&gt;&lt;/li&gt;
&lt;li&gt;文字图层的伸展会移动相邻图层。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-3KNYU1p478jpCVlz-6joTA.gif"
loading="lazy"
alt="Sketch Stack文字图层伸展演示，Child 1文字内容扩展时自动推开下方Child 2元素，展示文本图层在Stack中的自适应布局效果"
&gt;&lt;/li&gt;
&lt;li&gt;拖拽可以轻松地重新排列子图层。
&lt;img src="https://cdn.victor42.work/posts/2017-02/02-24/1-V4_Axkl8r8JXcpuhBn6obw.gif"
loading="lazy"
alt="Sketch Stack拖拽重排序演示，通过拖拽操作将Child 1、Child 2、Child 3三个红色矩形重新排列，展示Stack组内子图层的便捷拖拽排序功能"
&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="使用stack实现flex网格"&gt;使用Stack实现Flex网格
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://medium.com/@alanontheweb" target="_blank" rel="noopener"
&gt;Alan Roy&lt;/a&gt;，我们产品内测小组的一位多产的成员，用Stack创造出了&lt;a class="link" href="https://medium.com/@alanontheweb/responsive-flex-grid-in-sketch-using-autolayout-and-stacked-groups-ec8cfdf5df3f#.i40fnkdo8" target="_blank" rel="noopener"
&gt;Flex网格&lt;/a&gt;系统。&lt;/p&gt;
&lt;p&gt;他写了一篇详细解释，并且附带一段10分钟的视频。我们强烈建议阅读和观看这组教程。让人脑洞大开。【译者注：需科学上网】&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://www.youtube.com/watch?time_continue=2&amp;amp;v=g--AD_Yp5lk" target="_blank" rel="noopener"
&gt;https://www.youtube.com/watch?time_continue=2&amp;amp;v=g&amp;ndash;AD_Yp5lk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://medium.com/@alanontheweb/responsive-flex-grid-in-sketch-using-autolayout-and-stacked-groups-ec8cfdf5df3f" target="_blank" rel="noopener"
&gt;&lt;strong&gt;使用AutoLayout和嵌套组，在Sketch中实现响应式Flex网格&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;改善设计体系，便于缩放和统一。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;我们Anima的使命是让设计师能掌控自己的设计。我们正在打造一款设计工具，让设计师定义和构建UI与UX设计中所有零零碎碎的元素，并且最终能自动生成本地代码，1:1还原设计。这就使设计师&lt;strong&gt;不依赖&lt;/strong&gt;团队的其他部分，比如开发人员的优先关注点就与设计团队不同。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;自动布局插件下载：&lt;a class="link" href="https://animaapp.github.io/Auto-Layout/" target="_blank" rel="noopener"
&gt;https://animaapp.github.io/Auto-Layout/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;指南与文档：&lt;a class="link" href="https://animaapp.github.io/docs/v1/guide/12-stacks-flexbox.html" target="_blank" rel="noopener"
&gt;https://animaapp.github.io/docs/v1/guide/12-stacks-flexbox.html&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;原文链接：&lt;a class="link" href="https://medium.com/sketch-app-sources/auto-layout-introducing-stacks-flexbox-for-sketch-c8a11422c7b5#.jyyxfm90k" target="_blank" rel="noopener"
&gt;https://medium.com/sketch-app-sources/auto-layout-introducing-stacks-flexbox-for-sketch-c8a11422c7b5#.jyyxfm90k&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;作者信息：&lt;a class="link" href="https://medium.com/@AnimaApp" target="_blank" rel="noopener"
&gt;Anima App&lt;/a&gt;
Empowering designers to own their design.&lt;/p&gt;</description></item></channel></rss>