Struct freya_elements::elements::paragraph
source · pub struct paragraph;
Expand description
paragraph
element let’s you build texts with different styles.
This used used with the text
element.
fn app(cx: Scope) -> Element {
render!(
paragraph {
text {
font_size: "15",
"Hello, "
}
text {
font_size: "30",
"World!"
}
}
)
}
Implementations§
source§impl paragraph
impl paragraph
sourcepub const height: AttributeDescription = _
pub const height: AttributeDescription = _
width and height
Specify the width and height for the given element.
See syntax in Size Units
.
Example:
fn app(cx: Scope) -> Element {
render!(
rect {
background: "red",
width: "15",
height: "50",
}
)
}
pub const width: AttributeDescription = _
sourcepub const min_height: AttributeDescription = _
pub const min_height: AttributeDescription = _
min_width & min_height
rect
supports specifying a minimum width and height, this can be useful if you use it alongside a percentage for the target size.
See syntax for Size Units
.
Usage
fn app(cx: Scope) -> Element {
render!(
rect {
background: "red",
min_width: "100",
min_height: "100",
width: "50%",
height: "50%",
}
)
}
pub const min_width: AttributeDescription = _
sourcepub const max_height: AttributeDescription = _
pub const max_height: AttributeDescription = _
max_width & max_height
rect
supports specifying a maximum width and height.
See syntax for Size Units
.
Usage
fn app(cx: Scope) -> Element {
render!(
rect {
background: "red",
max_width: "50%",
max_height: "50%",
width: "500",
height: "500",
}
)
}
pub const max_width: AttributeDescription = _
sourcepub const text_align: AttributeDescription = _
pub const text_align: AttributeDescription = _
text_align
You can change the alignment of the text using the text_align
attribute.
Accepted values: center
, end
, justify
, left
, right
, start
Example
fn app(cx: Scope) -> Element {
render!(
label {
text_align: "right",
"Hello, World!"
}
)
}
pub const direction: AttributeDescription = _
sourcepub const font_size: AttributeDescription = _
pub const font_size: AttributeDescription = _
font_size
You can specify the size of the text using font_size
.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
font_size: "50",
"Hellooooo!"
}
)
}
sourcepub const font_family: AttributeDescription = _
pub const font_family: AttributeDescription = _
font_family
With the font_family
you can specify what font do you want to use for the inner text.
Limitation: Only fonts installed in the system are supported for now.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
font_family: "Inter",
"Hello, World!"
}
)
}
sourcepub const font_style: AttributeDescription = _
pub const font_style: AttributeDescription = _
font_style
You can choose a style for a text using the font_style
attribute.
Accepted values: upright
(default), italic
and oblique
.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
font_style: "italic",
"Hello, World!"
}
)
}
sourcepub const font_weight: AttributeDescription = _
pub const font_weight: AttributeDescription = _
font_weight
You can choose a weight for a text using the font_weight
attribute.
Accepted values:
invisible
thin
extra-light
light
normal
(default)medium
semi-bold
bold
extra-bold
black
extra-black
50
100
200
300
400
500
600
700
800
900
950
Example:
fn app(cx: Scope) -> Element {
render!(
label {
font_weight: "bold",
"Hello, World!"
}
)
}
sourcepub const font_width: AttributeDescription = _
pub const font_width: AttributeDescription = _
font_width
You can choose a width for a text using the font_width
attribute.
Accepted values:
ultra-condensed
extra-condensed
condensed
normal
(default)semi-expanded
expanded
extra-expanded
ultra-expanded
Example:
fn app(cx: Scope) -> Element {
render!(
label {
font_weight: "bold",
"Hello, World!"
}
)
}
sourcepub const line_height: AttributeDescription = _
pub const line_height: AttributeDescription = _
line_height
Specify the height of the lines of the text.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
lines_height: "3",
"Hello, World! \n Hello, again!"
}
)
}
sourcepub const letter_spacing: AttributeDescription = _
pub const letter_spacing: AttributeDescription = _
letter_spacing
Specify the spacing between characters of the text.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
letter_spacing: "10",
"Hello, World!"
}
)
}
sourcepub const word_spacing: AttributeDescription = _
pub const word_spacing: AttributeDescription = _
word_spacing
Specify the spacing between words of the text.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
word_spacing: "10",
"Hello, World!"
}
)
}
sourcepub const decoration: AttributeDescription = _
pub const decoration: AttributeDescription = _
decoration
Specify the decoration in a text.
Accpted values:
underline
line-through
overline
Example:
fn app(cx: Scope) -> Element {
render!(
label {
decoration: "line-through",
"Hello, World!"
}
)
}
sourcepub const decoration_style: AttributeDescription = _
pub const decoration_style: AttributeDescription = _
decoration_style
Specify the decoration’s style in a text.
Accpted values:
solid
(default)double
dotted
dashed
wavy
Example:
fn app(cx: Scope) -> Element {
render!(
label {
decoration: "line-through",
decoration_style: "dotted",
"Hello, World!"
}
)
}
sourcepub const text_overflow: AttributeDescription = _
pub const text_overflow: AttributeDescription = _
decoration_color
Specify the decoration’s color in a text.
You can learn about the syntax of this attribute in Color Syntax
.
Example:
fn app(cx: Scope) -> Element {
render!(
label {
decoration: "line-through",
decoration_color: "orange",
"Hello, World!"
}
)
}
pub const focusable: AttributeDescription = _
sourcepub const margin: AttributeDescription = _
pub const margin: AttributeDescription = _
margin
Specify the margin of an element. You can do so by three different ways, just like in CSS.
fn app(cx: Scope) -> Element {
render!(
rect {
margin: "25" // 25 in all sides
margin: "100 50" // 100 in top and bottom, and 50 in left and right
margin: "5 7 3 9" 5 // in top, 7 in right, 3 in bottom and 9 in left
}
)
}