Fill out "About Yoga", "Laying out a Yoga tree" , and "Styling" (#1591)

Summary:
Pull Request resolved: https://github.com/facebook/yoga/pull/1591

Adds initial documentation to these sections.

Reviewed By: joevilches

Differential Revision: D54708141

fbshipit-source-id: b2c1ac20573840833a3e5fde8c7b53f2770cecbd
This commit is contained in:
Nick Gerleman
2024-03-12 15:17:57 -07:00
committed by Facebook GitHub Bot
parent a0a09b4570
commit 066e366246
23 changed files with 345 additions and 27 deletions

View File

@@ -0,0 +1,40 @@
---
sidebar_position: 11
---
import Playground from '@site/src/components/Playground';
# Margin, Padding, and Border
**Margin**: affects the spacing around the outside of a node. A node with margin
will offset itself from the bounds of its parent but also offset the
location of any siblings. The margin of a node contributes to the total size
of its parent if the parent is auto sized.
**Padding**: affects the size of the node it is applied to. Padding in Yoga acts as if
`box-sizing: border-box;` was set. That is padding will not add to the total size
of an element if it has an explicit size set. For auto sized nodes padding will increase
the size of the node as well as offset the location of any children.
**Border**: in Yoga acts exactly like padding and only exists as a seperate property so
that higher level frameworks get a hint as to how thick to draw a border. Yoga however
does not do any drawing so just uses this information during layout where border
acts exactly like padding.
<Playground code={`<Layout config={{useWebDefaults: false}}>
<Node
style={{
width: 200,
height: 200,
padding: 10,
}}>
<Node
style={{
margin: 5,
padding: 20,
borderWidth: 20,
height: 50
}}/>
<Node style={{height: 50}} />
</Node>
</Layout>`} />