✨ (pagetop): Añade Margin y Padding nativos
- Nuevo módulo `html::spacing` con `Margin`/`Padding`: igual que `FlexItem`, se resuelven generando clases CSS dinámicamente y se aplican con `PropsOp::margin()`/`PropsOp::padding()` sobre cualquier componente. - Elimina `Margin`/`Padding` de `pagetop-bootsier`. - Añade el ejemplo `intro-spacing` con los patrones de uso típicos.
This commit is contained in:
parent
64113aff09
commit
50e4b42fe4
17 changed files with 881 additions and 322 deletions
30
src/html/spacing.rs
Normal file
30
src/html/spacing.rs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//! Márgenes y relleno nativos aplicados a componentes.
|
||||
//!
|
||||
//! [`Margin`] y [`Padding`] configuran márgenes externos y relleno interno por lado lógico y punto
|
||||
//! de corte. Aplican sobre cualquier componente. Se usan igual que [`FlexItem`], con
|
||||
//! [`PropsOp::margin()`] y [`PropsOp::padding()`] sobre el `with_prop()` que normalmente ya expone
|
||||
//! cualquier componente.
|
||||
//!
|
||||
//! # Ejemplo
|
||||
//!
|
||||
//! ```rust,no_run
|
||||
//! use pagetop::prelude::*;
|
||||
//!
|
||||
//! // Margen exterior arriba/abajo y relleno interno por los cuatro lados.
|
||||
//! // `Margin` y `Padding` implementan `From` para `PropsOp`, así que `with_prop()`
|
||||
//! // acepta `.into()` en vez de `PropsOp::margin()`/`PropsOp::padding()`.
|
||||
//! let card = Container::new()
|
||||
//! .with_prop(Margin::new().with_y(UnitValue::RelRem(1.0)).into())
|
||||
//! .with_prop(Padding::new().with_all(UnitValue::RelRem(1.5)).into())
|
||||
//! .with_child(Button::plain(Lc::n("Aceptar")));
|
||||
//! ```
|
||||
//!
|
||||
//! [`FlexItem`]: crate::html::flex::FlexItem
|
||||
//! [`PropsOp::margin()`]: crate::html::props::PropsOp::margin
|
||||
//! [`PropsOp::padding()`]: crate::html::props::PropsOp::padding
|
||||
|
||||
mod margin;
|
||||
pub use margin::Margin;
|
||||
|
||||
mod padding;
|
||||
pub use padding::Padding;
|
||||
Loading…
Add table
Add a link
Reference in a new issue