Repository: escueladigital/EDgrid
Branch: master
Commit: d287bd622887
Files: 168
Total size: 994.3 KB
Directory structure:
gitextract_bfb6tb_w/
├── .babelrc
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── docs/
│ ├── CNAME
│ ├── assets/
│ │ └── img/
│ │ └── edgrid-poster_tmp23195
│ ├── casos-de-exito/
│ │ └── index.html
│ ├── changelog/
│ │ └── index.html
│ ├── creditos/
│ │ └── index.html
│ ├── css/
│ │ └── styles.css
│ ├── documentacion/
│ │ ├── alineacion.1.html
│ │ ├── alineacion.html
│ │ ├── banner.html
│ │ ├── base.1.html
│ │ ├── base.html
│ │ ├── botones.html
│ │ ├── breakpoints.html
│ │ ├── cards.html
│ │ ├── css.html
│ │ ├── distribucion.html
│ │ ├── estructura.html
│ │ ├── flexbox-helpers.html
│ │ ├── funciones.html
│ │ ├── grids.html
│ │ ├── helpers.html
│ │ ├── imagenes.html
│ │ ├── index.html
│ │ ├── instalacion.html
│ │ ├── layout-css-grid.html
│ │ ├── layout-flexbox.html
│ │ ├── layout.html
│ │ ├── mediaqueries.html
│ │ ├── menu-responsive.html
│ │ ├── menus.html
│ │ ├── modo-dev.html
│ │ ├── offset.html
│ │ ├── personalizar.html
│ │ ├── prototipado-avanzado.html
│ │ ├── prototipado.html
│ │ ├── ratios.html
│ │ ├── sass.html
│ │ ├── skeleton.html
│ │ ├── videos.html
│ │ └── visibilidad.html
│ ├── index.html
│ ├── js/
│ │ ├── scripts-min.js
│ │ └── scripts.js
│ ├── sitemap.xml
│ └── test.html
├── ed-grid.scss
├── gulpfile.babel.js
├── index.js
├── package.json
├── poster.psd
├── src/
│ ├── css/
│ │ └── ed-grid.css
│ ├── data/
│ │ └── casos-de-exito.json
│ ├── js/
│ │ ├── index.js
│ │ └── modules/
│ │ ├── activeMenu.js
│ │ ├── menu.js
│ │ └── scrollBarWIdth.js
│ ├── md/
│ │ ├── alineacion.md
│ │ ├── base.md
│ │ ├── breakpoints.md
│ │ ├── cards.md
│ │ ├── distribucion.md
│ │ ├── docs/
│ │ │ ├── botones.md
│ │ │ ├── flexbox.md
│ │ │ ├── menu.md
│ │ │ ├── offset.md
│ │ │ └── videos.md
│ │ ├── estructura.md
│ │ ├── funciones.md
│ │ ├── grids.md
│ │ ├── helpers.md
│ │ ├── layout-css-grid.md
│ │ ├── layout-flexbox.md
│ │ ├── layout.md
│ │ ├── mediaqueries.md
│ │ ├── menu-responsive.md
│ │ ├── modo-dev.md
│ │ ├── personalizar.md
│ │ ├── prototipado-avanzado.md
│ │ ├── prototipado.md
│ │ ├── ratios.md
│ │ ├── skeleton.md
│ │ └── visibilidad.md
│ ├── pug/
│ │ ├── config/
│ │ │ ├── config.pug
│ │ │ └── template.pug
│ │ ├── includes/
│ │ │ ├── banner.pug
│ │ │ ├── cards.pug
│ │ │ ├── collaborator.pug
│ │ │ ├── docs-menu.pug
│ │ │ ├── feature-item.pug
│ │ │ ├── footer.pug
│ │ │ ├── header.pug
│ │ │ ├── main-banner.pug
│ │ │ └── main-menu.pug
│ │ └── pages/
│ │ ├── casos-de-exito/
│ │ │ └── index.pug
│ │ ├── changelog/
│ │ │ └── index.pug
│ │ ├── creditos/
│ │ │ └── index.pug
│ │ ├── documentacion/
│ │ │ ├── alineacion.pug
│ │ │ ├── banner.pug
│ │ │ ├── base.pug
│ │ │ ├── breakpoints.pug
│ │ │ ├── cards.pug
│ │ │ ├── distribucion.pug
│ │ │ ├── estructura.pug
│ │ │ ├── flexbox-helpers.pug
│ │ │ ├── funciones.pug
│ │ │ ├── grids.pug
│ │ │ ├── helpers.pug
│ │ │ ├── index.pug
│ │ │ ├── instalacion.pug
│ │ │ ├── layout-css-grid.pug
│ │ │ ├── layout-flexbox.pug
│ │ │ ├── layout.pug
│ │ │ ├── mediaqueries.pug
│ │ │ ├── menu-responsive.pug
│ │ │ ├── menus.pug
│ │ │ ├── modo-dev.pug
│ │ │ ├── offset.pug
│ │ │ ├── personalizar.pug
│ │ │ ├── prototipado-avanzado.pug
│ │ │ ├── prototipado.pug
│ │ │ ├── ratios.pug
│ │ │ ├── sass.pug
│ │ │ ├── skeleton.pug
│ │ │ ├── videos.pug
│ │ │ └── visibilidad.pug
│ │ └── index.pug
│ └── scss/
│ ├── ed-grid/
│ │ ├── components/
│ │ │ ├── _alignment.scss
│ │ │ ├── _base.scss
│ │ │ ├── _core-flexbox.scss
│ │ │ ├── _core-grid.scss
│ │ │ ├── _dev.scss
│ │ │ ├── _layout.scss
│ │ │ ├── _media-queries.scss
│ │ │ ├── _prototype.scss
│ │ │ ├── _video.scss
│ │ │ └── _visibility.scss
│ │ ├── helpers/
│ │ │ ├── _functions.scss
│ │ │ └── _mixins.scss
│ │ └── legacy/
│ │ ├── _ed-menu.scss
│ │ ├── _grid.scss
│ │ ├── _legacy.scss
│ │ └── _offset.scss
│ ├── ed-grid-css.scss
│ ├── ed-grid.scss
│ ├── styles.scss
│ └── web-styles/
│ ├── base/
│ │ └── base.scss
│ ├── components/
│ │ ├── _buttons.scss
│ │ ├── _demo.scss
│ │ ├── _main-features.scss
│ │ ├── _menu-responsive.scss
│ │ └── _menus.scss
│ ├── config/
│ │ ├── _functions.scss
│ │ └── _variables.scss
│ ├── hacks/
│ │ └── _hacks.scss
│ ├── layout/
│ │ └── _layout.scss
│ ├── libraries/
│ │ └── _prism.scss
│ └── theme/
│ ├── _banner.scss
│ ├── _footer.scss
│ ├── _icons.scss
│ └── _typography.scss
└── test.html
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": ["env"],
"plugins": ["add-module-exports"]
}
================================================
FILE: .editorconfig
================================================
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
indent_size = 4
trim_trailing_whitespace = false
[node_modules/**.js]
codepaint = false
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
================================================
FILE: .gitignore
================================================
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
# =========================
# Operating System Files
# =========================
# OSX
# =========================
.DS_Store
.AppleDouble
.LSOverride
# Thumbnails
._*
# Files that might appear on external disk
.Spotlight-V100
.Trashes
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
prepros.cfg
.idea
.vscode
node_modules/
npm-debug.log
test/styles.css
js/ed-grid.js.map
js/babel/.tern-port
public
================================================
FILE: .npmignore
================================================
node_modules
npm-debug.log
.DS_Store
.idea
.gitignore
.gitattributes
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{description}
Copyright (C) {year} {fullname}
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
{signature of Ty Coon}, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
================================================
FILE: README.md
================================================
# EDgrid

EDgrid implementa un sistema de diseño flexible y personalizable para construir layouts y componentes responsive a la velocidad de la luz ⚡
Documentación oficial: https://ed-grid.com/documentacion/instalacion.html
Colaboradores: https://ed-grid.com/creditos/
================================================
FILE: docs/CNAME
================================================
ed-grid.com
================================================
FILE: docs/assets/img/edgrid-poster_tmp23195
================================================
================================================
FILE: docs/casos-de-exito/index.html
================================================
Plataforma dedicada a la enseñanza de programación, diseño web y todo lo referente al mundo de desarrollo web.
Las Canastas
Restaurant
Restaurant de parrilldas y pollos ubicada en Perú con diversas sucursales al rededor de todo el país.
Caexco
Tienda en línea
Empresa dedicada a la comercialización de equipo agrícola, repuestos y accesorios.
Importmercado
Venta de maquinaría metalmecánica
Empresa dedicada a la importación y comercialización de maquinaria metalmecánica y accesorios.
Capilla de Cochabamba
Centro educativo cristiano bilingüe
Unidad Educativa fundamentada en sólidos principios bíblicos con una alta calidad en la formación académica bilingüe.
Aremisse Lima
Transporte corporativo, turístico y personal
Empresa peruana dedicada al transporte de personal, transporte ejecutivo o corporativo y transporte turístico.
Wizardgva
Agencia de soluciones TI
Wizardgva nace del sueño de un joven por brindar soluciones de hardware rápidas y accesibles
Alkila
Empresa de reta de autos
Alkila es una empresa Peruana dedicada al rubro de alquiler de vehículos.
Agencia Gema
Agencia de eventos
En Gema, son especialistas en el servicio de banquetes y renta de equipo para todo tipo de eventos
Portafolio - Robert
Portafolio
Esta web es el portfolio de Robert Huamán Cáceres, estudiante en Ingeniería informática y sistemas de la Universidad Nacional Micaela Bastidas de Apurímac - Perú
Militaria
Empresa
Empresa peruana dedicada a la exportación de indumentaria y accesorios para uso militar.
v2.0 (3 dic 2016) Cambia su enfoque al de librería (pretendía ser un framework) en versión Sass y CSS. Permite usar mixins que compilano solo el código necesario, además de activar y desactivar componentes.
Use las clases breakpoint-to-left, breakpoint-to-center, breakpoint-to-right
<p class="s-75 m-50 lg-40 s-to-left m-to-center l-to-right">
EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo sin
conflictos con tu proyecto.
</p>
Ejemplo:
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
* Para que las alineaciones de bloque funcionen debe agregar clases de ancho.
Ancho de los bloques
Use las clases breakpoint-numero donde número es un múltiplo de 5 desde 0 hasta 95. Asi que la clase m-85 significa que el elemento tendrá 85% de ancho (de su contenedor) a partir de 640px.
Combine estas clases con las de alineación para crear layouts avanzados.
<p class="s-75 m-50 lg-40 s-to-left m-to-center l-to-right">
EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo sin
conflictos con tu proyecto.
</p>
Ejemplo:
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Diferencia entre bloque y contenido
Comprender la diferencia entre estos dos conceptos le ahorrará dolores de cabeza y sufrimiento. Se considera contenido a todo elemento inline y bloque a todo elemento de bloque (en la definición de HTML). Los elementos inline son mostrados por el navegador uno al lado del otro y con saltos de línea (cuando se agota el ancho). Los elementos de bloque fuerzan un salto de línea (salvo que lo modifiques con CSS).
Por ejemplo, un párrafo <p></p> es un bloque, pero el texto dentro de él es contenido. Así que debe preguntarse, ¿quiero todo el bloque de párrafo a la derecha o solo quiero el texto alineado a la derecha?
<p class="s-right">
Este es un párrafo cuyo texto se ha alineado a la derecha
</p>
Ejemplo:
Este es un párrafo cuyo texto se ha alineado a la derecha
<p class="s-75 s-to-right">
Este es un párrafo alineado a la derecha (como bloque)
</p>
Ejemplo:
Este es un párrafo alineado a la derecha (como bloque)
<p class="s-75 s-to-center s-right">
Este es un párrafo alineado al centro como bloque <br> y con el contenido alineado a la derecha.
</p>
Ejemplo:
Este es un párrafo alineado al centro como bloque y con el contenido alineado a la derecha.
Comprender esta sutil diferencia es crucial para construir layouts. Por ejemplo, si quiere una imagen centrada, agregarle una clase s-to-center no hará nada porque las imágenes son inline (igual que los <span>, <a>, <input>, <label>). Podría maldecir a EDgrid pero así funciona CSS y no podemos hacer nada.
Alineación de imágenes y elementos inline
Para centrar una imágen puede aplicarle la clase breakpoint-center a su contenedor. Por ejemplo:
Igual si quiere alinearla a la derecha o izquierda. Y lo mismo para cualquier elemento inline.
Ahora bien, ¿qué sucede si quiero centrar directamente la imagen y no usar su contenedor? Use la clases breakpoint-block-left, breakpoint-block-center y breakpoint-block-right que agregan además un display: block al elemento inlne al que se apliquen y resuelven la alineación.
Seguro pensará: si se necesita un display: block agréguenlo a los estilos en lugar de crear nuevas clases. El detalle es que el elemento podría tener display:grid, display:flex, display: table o display: inline-block y no se puede forzar un display: block porque destruiría su layout.
Sobre el ancho de las imágenes
Las imágenes de mapas de bits (jpg, png, gif, webp) poseen las propiedades naturalHeight y naturalWidth (accedes a ellas por JavaScript) que representan su ancho y alto original. La imagen del ejemplo anterior es de 200x200px por eso la podemos centrar. Pero si fuera más grande habría que aplicarle además una clase para definir su ancho.
En el caso de las imágenes svg, estas son vectoriales y carecen de dichas propiedades por lo que siempre ocuparan todo el espacio disponible en su contenedor.
Ejemplo:
La podemos centrar con clases de ancho y de alineación de bloques
<img alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" class="s-30 s-block-center">
================================================
FILE: docs/documentacion/alineacion.html
================================================
EDgrid | Base (CSS/Sass)
Use las clases breakpoint-to-left, breakpoint-to-center, breakpoint-to-right
<p class="s-75 m-50 lg-40 s-to-left m-to-center l-to-right">
EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo sin
conflictos con tu proyecto.
</p>
Ejemplo:
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Ancho de los bloques
Use las clases breakpoint-numero donde número es un múltiplo de 5 desde 0 hasta 95. Asi que la clase m-85 significa que el elemento tendrá 85% de ancho (de su contenedor) a partir de 640px.
Combine estas clases con las de alineación para crear layouts avanzados.
<p class="s-75 m-50 lg-40 s-to-left m-to-center l-to-right">
EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo sin
conflictos con tu proyecto.
</p>
Ejemplo:
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Diferencia entre bloque y contenido
Comprender la diferencia entre estos dos conceptos le ahorrará dolores de cabeza y sufrimiento. Se considera contenido a todo elemento inline y bloque a todo elemento de bloque (en la definición de HTML). Los elementos inline son mostrados por el navegador uno al lado del otro y con saltos de línea (cuando se agota el ancho). Los elementos de bloque fuerzan un salto de línea (salvo que lo modifiques con CSS).
Por ejemplo, un párrafo <p></p> es un bloque, pero el texto dentro de él es contenido. Así que debe preguntarse, ¿quiero todo el bloque de párrafo a la derecha o solo quiero el texto alineado a la derecha?
<p class="s-right">
Este es un párrafo cuyo texto se ha alineado a la derecha
</p>
Ejemplo:
Este es un párrafo cuyo texto se ha alineado a la derecha
<p class="s-75 s-to-right">
Este es un párrafo alineado a la derecha (como bloque)
</p>
Ejemplo:
Este es un párrafo alineado a la derecha (como bloque)
<p class="s-75 s-to-center s-right">
Este es un párrafo alineado al centro como bloque <br> y con el contenido alineado a la derecha.
</p>
Ejemplo:
Este es un párrafo alineado al centro como bloque y con el contenido alineado a la derecha.
Comprender esta sutil diferencia es crucial para construir layouts. Por ejemplo, si quiere una imagen centrada, agregarle una clase s-to-center no hará nada porque las imágenes son inline (igual que los <span>, <a>, <input>, <label>). Podría maldecir a EDgrid pero así funciona CSS y no podemos hacer nada.
* Puede usar estas clases también para alinear botones
Alineación de imágenes y elementos inline
Para centrar una imágen puede aplicarle la clase breakpoint-center a su contenedor. Por ejemplo:
Igual si quiere alinearla a la derecha o izquierda. Y lo mismo para cualquier elemento inline.
Ahora bien, ¿qué sucede si quiero centrar directamente la imagen y no usar su contenedor? Use la clases breakpoint-block-left, breakpoint-block-center y breakpoint-block-right que agregan además un display: block al elemento inlne al que se apliquen y resuelven la alineación.
Seguro pensará: si se necesita un display: block agréguenlo a los estilos en lugar de crear nuevas clases. El detalle es que el elemento podría tener display:grid, display:flex, display: table o display: inline-block y no se puede forzar un display: block porque destruiría su layout.
Sobre el ancho de las imágenes
Las imágenes de mapas de bits (jpg, png, gif, webp) poseen las propiedades naturalHeight y naturalWidth (accedes a ellas por JavaScript) que representan su ancho y alto original. La imagen del ejemplo anterior es de 200x200px por eso la podemos centrar. Pero si fuera más grande habría que aplicarle además una clase para definir su ancho.
En el caso de las imágenes svg, estas son vectoriales y carecen de dichas propiedades por lo que siempre ocuparan todo el espacio disponible en su contenedor.
Ejemplo:
La podemos centrar con clases de ancho y de alineación de bloques
<img alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" class="s-30 s-block-center">
Aunque ed-grid no pretende incluir elementos de UI (que se incluirán en el futuro proyecto ed-ui), por el momento incluye botones y menu pensando en el prototipado rápido.
Uso con CSS (cssCore)
Use la clase button. Puede añadir las clases round o radius para bordes redondeados.
Para controlar el tamaño del botón, cambie manualmente el font-size por CSS. Si desea cambiar los colores, haga lo mismo en su CSS personalizado.
<!-- version con css -->
<a href="#" class="button">Boton default</a>
<a href="#" class="button round">Boton round</a>
<a href="#" class="button radius">Boton radius</a>
Los breakpoints son los puntos de quiebre donde el layout cambia. Estan definidos en el siguiente Sass map:
$breakpoints : (
s : 0, // Todos los tamaños
m : 40em, // ~ 640px
lg : 64em, // ~ 1024px
xl : 90em // ~1440px
) !default;
* En versiones anteriores se usaba el breakpoint l que ahora se ha cambiado a lg para evitar confusión con la nomenclatura de SMACSS en la que l no significa large sino layout. Sin embargo, por compatibilidad hacia atrás, EDgrid reconoce aun el breakpoint l por lo que su proyecto no se verá afectado. Aunque recomendamos dejar de usarlo en el futuro.
Mobile first
EDgrid usa el patrón Mobile first, lo que significa que el estilo definido en un breakpoint será heredado en breakpoints superiores salvo que sea sobreescrito. En el siguiente ejemplo, el elemento medirá 50% de ancho (s-50) en todos los tamaños ya que fue definido en el breakpoint menor y no ha sido sobreescrito.
<article class="s-50">Hola mundo</article>
En cambio, en este ejemplo, medirá 50% en los breakpoints s y m pero en l y xl medirá 75%.
<article class="s-50 lg-75">Hola mundo</article>
Cambiar los breakpoints (Sass)
Si es usuario avanzado puede cambiar los breakpoints por los suyos. Puede cambiar el tamaño, el nombre o la cantidad. Solo debe declarar el Sass map $breakpoints antes de importar EDgrid.
$breakpoints : (
small : 0,
medium : 45em,
large : 80em,
xlarge : 90em,
xxlarge : 120em
)
@import "~ed-grid/ed-grid";
Recuerde que EDgrid es una librería enfocada al RWD, por lo que no tiene componentes o estilos integrados por defecto, pero puede utilizar el prototipado y el prototipado avanzado para crear sus propios componentes.
Card básico
Ejemplo de tarjeta creada con el prototipado integrado:
Curso Bases de Datos Desde Cero
Diseña, estructura y administra bases de datos SQL y crea un sistema de facturación
<article class="s-shadow-bottom">
<!--Contenedor de la imagen-->
<div class="s-ratio-16-9 img-container s-radius-tl s-radius-tr">
<img src="/assets/img/poster-curso.png">
</div>
<!--Contenido-->
<div class="s-bg-white s-pxy-2">
<h3>Curso Bases de Datos Desde Cero</h3>
<p class="s-mb-0">Diseña, estructura y administra bases de datos SQL y crea un sistema de facturación</p>
</div>
<footer class="s-cross-center s-bg-grey s-pxy-2 s-radius-br s-radius-bl">
<!--Define el ancho máximo de la imagen-->
<div class="s-10 s-mr-1">
<!--Contenedor de la imagen-->
<div class="circle ">
<img src="/assets/img/alexys.jpg">
</div>
<!--Profesor-->
</div>
<p class="s-mb-0">Prof. Alexys Lozada</p>
<!--Boton-->
<div class="button s-to-right">$40USD</div>
</footer>
</article>
Card horizontal
Este card se mostrará en formato horizontal en desktop y pasará a ser vertical en dispositivos móviles.
Curso Bases de Datos Desde Cero
Diseña, estructura y administra
bases de datos SQL y crea un sistema de facturación
<article class="s-shadow-bottom">
<!-- Póster y contenido -->
<div class="ed-grid m-grid-5 s-gap-2 m-pxy-2 s-bg-white s-radius-tl s-radius-tr">
<!-- Contenedor de la imagen -->
<div class="m-cols-2 img-container s-ratio-16-9 s-radius-tl s-radius-tr m-radius">
<img src="/assets/img/poster-curso.png">
</div>
<!-- Contenido -->
<div class="s-pxy-2 m-pxy-0 m-cols-3">
<h3>Curso Bases de Datos Desde Cero</h3>
<p class="s-mb-0">Diseña, estructura y administra
bases de datos SQL y crea un sistema de facturación</p>
</div>
</div>
<footer class="s-bg-grey s-cross-center s-pxy-2 s-radius-br s-radius-bl">
<!-- Define el ancho máximo de la imagen -->
<div class="s-10 m-5 s-mr-1">
<!-- Contenedor de la imagen -->
<div class="circle ">
<img src="/assets/img/alexys.jpg">
</div>
</div>
<!-- Profesor -->
<p class="s-mb-0">Prof. Alexys Lozada</p>
<!-- Botón -->
<div class="button s-to-right">$40USD</div>
</footer>
</article>
En EDgrid puede decidir que código será compilado a CSS.
Si usted desea puede trabajar solo con la versión CSS de EDgrid, y añadir clases a su marcado HTML para construir su layout según el flujo de trabajo recomendado.
El código CSS de EDgrid 2 se clasifica en 2 grupos:
cssCore
Cojunto de clases CSS recomendadas si va a trabajar con la versión CSS. Si va a trabajar con Sass puede saltarse está sección.
offset
Clases para agregar un margen inicial a los elementos
flexbox
Clases para alinear elementos en vertical y horizontal con flexbox.
grid
Clases para crear cuadrículas (p.ej. para galerías de fotos)
devMode
Genera el modo dev para visualizar la construcción del layout
Tanto en flexbox como en grid, la propiedad order permite definir la posición de un elemento en el layout. Por ejemplo, un elemento con order: 1 aparecerá antes que uno con order:2 aunque en el código HTML se encuentre después.
Con EDgrid puede definir esta propiedad con las clases breakpoint-order-numero. Donde número va de 1 hasta la variable max-grid-columns (12 por defecto).
Tenga en cuenta que asignarle 1 al order de un elemento no hará que aparezca en primer lugar ya que el valor predeterminado de todos es 0 (teoría de CSS). Por lo que debe agregarle las clases a todos los que quiera modificar.
Alineación en vertical y horizontal de elementos hijos
Usando la teoría de flexbox, consideramos main como eje horizontal y cross como eje vertical. Con las clases breakpoint-main-[start|center|end|justify|distribute] y breakpoint-cross-[start|center|end|baseline] Puede alinear bloques y elementos hijos.
Tenga en cuenta que los márgenes de los elementos pueden influir en estas alineaciones. Por ejemplo, el mismo código anterior pero con un párrafo en lugar de span (el párrafo tienen un margin-bottom que impide el centrado vertical).
La siguiente es la estructura de archivos de EDgrid. Solo se explican los archivos y directorios propios del proyecto y no las herramientas comunes de desarrollo (package.json, .gitignore, etc)
Tenga presente que en el mismo repositorio se encuentra la librería EDgrid y la página web con la documentación. Si desea estudiar como se creó EDgrid busque el archivo src/scss/ed-grid.scss y la carpeta src/scss/ed-grid. Todo lo demás se usa para construir esta página web y no forma parte de la librería.
Etructura general del repositotio
src/ Carpeta de desarrollo
md/ Contenido de la documentación en markdown
data/ Datos JSON para la página web
img/ Imágenes para la página web
js/ JavaScript para la página web
pug/ Archivos pug para generar la página web
scss/ Estructura de archivos Sass
ed-grid/🔥 Componentes de la librería EDgrid.
web-styles/ Estilos para la documentación en ed-grid.com (no son parte de EDgrid)
styles.scss Archivo principal para la documentacion ed-grid.com (no es parte de EDgrid)
ed-grid.scss🔥 Archivo principal de EDgrid que importa sus componentes y define variables.
ed-grid.scss🔥 Archivo para importar EDgrid desde node_modules.
test.html🔥 Archivo para hacer pruebas con EDgrid
Archivos exclusivos de EDgrid
ed-grid.scss🔥 Archivo para importar EDgrid desde node_modules.
src/
ed-grid.scss🔥 Archivo que importa los componentes y define las variables de configuración
ed-grid-css.scssArchivo para compilar EDgrid a su versión CSS
ed-grid/
components/ Componententes principales de la librería
_alignment.scss Utilidades para alineación de bloques y contenido
_base Estilos base para elementos HTML.
_core-flexbox.scss Sistema de columnas con flexbox
_core-grid.scss Sistema de filas y columnas con CSS Grid
_dev.scss Estilos para debuggin
_layouts.scss Estilos para separaciones verticales, margenes y paddings.
_media-queries Mixins para crear media queries
_prototype.scss Estilos para prototipado rápido
_video.scss Estilos para video responsive
_visibility.scss Estilos para mostrar y ocultar elementos en cada breakpoint
helpers/ Funciones y mixins necesarios para el funcionamiento de diversos componentes
_functions.scss Funciones para convertir pixeles a em y rem (necesarios para mixins de EDgrid)
_mixins.scss Mixins de apoyo en el desarrollo de componentes
legacy/ Componentes y estilos para compatibilidad con versiones anteriores de EDgrid (no necesario en proyectos nuevos).
_ed-menu Estilos para crear menus de navegación
_grid.scss Estilos para crear cuadriculas (se recomienda usar core-grid)
_legacy.scss Estilos varios de versiones antiguas
_offset Estilos legacy para offset de columnas (no necesario en proyectos nuevos).
css/
ed-grid.css Versión CSS de EDgrid con comentarios para desarrollo
ed-grid.min.css Versión minificada de EDgrid
Archivos exclusivos de la página de documentación
docs/ Página web de documentación y assets compilados
src/
pug/ Archivos pug para generar páginas HTML
md/ Contenido de la documentación en formato markdown
img/ Imágenes de la página web
data/ Datos en formato JSON para mostrar en la página web
js/ Archivos javascript para la documentación
scss/
styles.scss Importa archivos para estilos de la documentación
web-styles/ Partials de Sass para la documentación
El core de ed-grid está construido con flexbox, cero floats, display:table, inline-blocks u otros hacks extraños. Sin embargo, ed-grid ofrece muchas utilidades extra para aprovechar el poder de flexbox.
Estas utilidades están dentro de los helpers de CSS ($cssHelpers : true) por lo que se recomienda activarlos aunque su flujo de trabajo sea con Sass.
Flexbox alinea los elementos respecto a dos ejes: main (horizontal por defecto) y cross (vertical por defecto).
En las siguientes instrucciones, la version css indicará la clase que debe añadirse al marcado html del contenedor
En la versión Sass se indicará el mixin que debe incluirse al contenedor
En la version CSS (cssCore), si desea indicar un breakpoint, inicie la clase con él, así l-main-justifym-flex-reversexl-cross-center
Si no indica el breakpoint (cssHelpers), así cross-end
Alineaciones en el eje principal
Alinear los elementos a la izquierda y derecha
Versión con css
<!-- version con css -->
<div class="main-justify">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass *******
.container { @include mainJustify }
Distribuir el espacio disponible alrededor de los elementos
Versión con css
<!-- version con css -->
<div class="main-distribute">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainDistribute }
Alinear los elementos al inicio del eje
Versión con css
<!-- version con css -->
<div class="main-start">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainStart }
Alinear los elementos al centro del eje
Versión con css
<!-- version con css -->
<div class="main-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
:markdown-it
// version con Sass
.container { @include mainCenter }
Alinea los elementos al final del eje
Versión con css
<!-- version con css -->
<div class="main-end">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include mainEnd }
// version con Sass
.container { @include crossStart }
Al centro del eje secundario
Versión con css
<!-- version con css -->
<div class="cross-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include crossCenter }
Al final del eje secundario
Versión con css
<!-- version con css -->
<div class="cross-end">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include crossEnd }
Combinar alineaciones en ambos ejes
Puede combinar alineaciones para el eje principal y secundario
Versión con css
<!-- version con css -->
<div class="main-center cross-center">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container {
@include mainCenter;
@include crossCenter;
}
Orientación de los ejes
Reversa horizontal
Versión con css
<!-- version con css -->
<div class="flex-reverse">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexReverse }
En columna (de arriba hacia abajo)
Versión con css
<!-- version con css -->
<div class="flex-column">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
//version con Sass
.container { @include flexReverse }
Columna en reversa (de abajo hacia arriba)
Versión con css
<!-- version con css -->
<div class="flex-column-reverse">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexColumnReverse }
Centrado absoluto
El centrado absoluto se aplica a un container que tiene un solo hijo, el cual puede ser solo texto o un elemento html
Versión con css
<!-- version con css -->
<div class="flex-center">
<div>1</div>
</div>
Versión con Sass
// version con Sass
.container { @include flexCenter }
Orden de elementos (solo CSS)
A través de clases html con el formato bp-order-n siendo bp un breakpoint válido de ed-grid, y n un número entre 1 y 10 se puede controlar la aparicion de los elementos en el navegador. Recuerde que todos los elementos tienen por defecto el valor 0 para la propiedad order.
Esta característica no esta disponible para Sass porque en Sass basta escribir una linea de código en la media query requerida. Escribir los mixins consume más código que tan solo escribir manualmente el orden cuando sea necesario.
Para Sass, use el mixin grid($item,$s $m $l $xl,$gutter) aplicado al contenedor del grid. Los parámetros son:
$item (obligatorio) es el selector css de cada item del grid. Debe pasarse entrecomillado.
$s $m $l $xl (solo el primero obligatorio) son el número de columnas en cada breakpoint de EDgrid (separados por espacios)
Los breakpoints superiores heredaran el número de columnas del último breakpoint declarado en el mixin
$gutter (opcional) es la separación entre los items. Solo se aceptan em, rem o px.
Ejemplo, para el siguiente HTML:
<div class="gallery">
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
<div class="image"><!-- Una foto en la galeria--></div>
</div>
Crearemos un grid 1,1,2,3
.gallery {
@include grid('.image',1 1 2 3);
}
Los grids son creados con CSS Grid y agregan un fallback con flexbox para navegadores que no lo soportem.
Los helpers son ayudas al trabajo a través de clases.
Ancho de elementos
Puede usar las mismas clases de los ed-item.
<div class="m-60">
<!--Este elemento mide 60% a partir de 640px-->
</div>
<div class="xl-1-3">
<!-- Este elemento mide 33.33% a partir de 1440px-->
</div>
Alineación de elementos
Se aplica al mismo elemento que se quiere alinear las clases: to-left, to-right, to-center. Para que funcione debe especificar un ancho también.
<div class="to-left s-50"><!-- Se envia a la izquierda 50% de ancho desde small--></div>
<div class="to-right m-80"><!-- Se envia a la derecha 80% de ancho desde medium --></div>
<div class="to-center l-75"><!-- Se envia al centro 75% de ancho desde large--></div>
Alinear contenido
Use las clases left, center, right en el contenedor para que su contenido se centre.
<h2 class="center">
Soy un título centrado
</h2>
Limpiar floats
Versión CSS
<!--Version css-->
<div class="clearfix"><!-- la clase clearfix limpia los floats--></div>
Versión Sass
// Uso con Sass
.selector { @include clearfix }
Forzar ancho total
Hace que un elemento siempre mida el 100% del ancho disponible
Versión CSS
<!-- Version CSS -->
<div class="full"><!-- Este elemento medirá 100% de ancho siempre --></div>
Versión Sass
// Uso con Sass
.selector { @include full }
Hacer un elemento circular
Tenga en cuenta que si el alto y el ancho no son iguales, el elemento no será circular sino oval.
Versión CSS
<!-- Version CSS -->
<div class="circle"><!-- Este elemento será circular --></div>
Versión Sass
// Uso con Sass
.selector { @include circle }
Controlar el padding
Importante: si usa la versión con CSS Grid puede saltarse esta sección.
En EDgrid la separación entre los ed-item se genera a través de padding laterales (la separación entre uno y el siguiente es dos veces el tamaño del padding, por defecto 15px).
Puede ocurrir que en algunos casos complejos para forzar la alineación requiera añadir o quitar los padding por defecto a cualquier elemento (no solo ed-container y ed-item).
Versión CSS
<!-- Version CSS -->
<div class="padding"><!-- Añade un padding si el elemento no lo tenia --></div>
<div class="padding-2"><!-- Añade un padding doble --></div>
<div class="padding-3"><!-- Añade un padding triple --></div>
<div class="ed-container no-padding"><!-- Elimina el padding de todos sus ed-item internos--></div>
<div class="ed-item no-padding"><!-- Elimina el padding de solo este ed-item--></div>
Versión Sass
// Uso con Sass
// el mixin padding() recibe un número como parámetro
// este número puede ser 0 para eliminar el padding
.selector1 { @include padding(3) }
// El mixin noPaddingContainer tiene efecto
// solo aplicado a un .ed-container y elimina
// el padding de sus ed-item hijos
.selector2 { @include noPaddingContainer }
EDgrid es muy fácil de aprender. En una hora ya lo estará usando en sus proyectos
Comenzar con EDgrid
EDgrid es una libreria CSS/Sass para construir layouts para web fácilmente.
EDgrid es un proyecto de EDteam usado en todos los proyectos de la empresa. Es Open Source (GPL2) y puede usarla y modificarla libremente en todos sus proyectos.
Posteriormente, impórtelo en su estructura de archivos Sass
@import "~ed-grid/ed-grid"
Instalación de versión CSS
Descargue la última versión CSS de EDgrid e impórtela en su proyecto como cualquier otra hoja de estilos. También puede usar del CDN para importaciones rápidas.
* Al usar EDgrid en su versión CSS no podrá personalizar la librería, utilizar el prototipado avanzado y compilar sólo el código necesario, entre otras opciones que sólo se pueden hacer con la versión de Sass
================================================
FILE: docs/documentacion/layout-css-grid.html
================================================
EDgrid | Flujo de trabajo (CSS/Sass)
Sistema de filas y columnas con CSS Grid
La versión 3 de EDgrid incluye la creación de layouts con CSS Grid, la que ofrece varias ventajas sobre los layouts con Flexbox.
Esta versión se basa en las siguientes reglas:
El contenedor define la cantidad de columnas en cada breakpoint
Los items definen cuantas columnas de su contedor ocuparán
Solo el contenedor tiene una clase definida ed-grid. Los items pueden ser cualquier elemento hijo directo de ed-grid (a diferencia de la versión con flexbox que exigía tener un ed-item).
CSS Grid utiliza la propiedad gap para definir la separación entre tracks, lo que resuelve el problema de los contenedores anidados y los paddings (propio de layouts con floats y flexbox).
Contenedor ed-grid
En esta versión se usa ed-grid como contenedor y es en él donde debemos definir las columnas (es así como funciona CSS Grid).
Para definir las columnas use la nomenclatura breakpoint-grid-numero.
<div class="ed-grid s-grid-2 lg-grid-4 xl-grid-10">
<!-- Este contenedor tiene 2 columnas en tamaño s, 4 columnas en tamaño lg y 10 columnas en tamaño xl -->
</div>
Items
Cualquier hijo directo de ed-grid es automáticamente un item del layout. Y automáticamente tomará una columna de su contenedor.
<!-- Layout de tres columnas donde cada card ocupa una columna.
No tiene que hacer nada en los items. Solo definir las columnas en el contenedor -->
<div class="ed-grid s-grid-3">
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
</div>
Ejemplo:
1
2
3
Definir cantidad de columnas que ocupa el item
Use la siguiente nomenclatura breakpoint-cols-numero Donde número es la cantidad de columnas.
Por ejemplo, para crear un layout de sidebar al 25% y contenido al 75% el marcado sería el siguiente:
De forma predeterminada las columnas tienen una separacion de 1rem en tamaños móviles (s,m) y 2rem en tamaños de escritorio (lg,xl). Si desea agregar una separación entre filas (igual a la de las columnas), agregue la clase rows-gap al contenedor.
Puede cambiar la separación para todos los ed-grid redefiniendo la variable $gap antes de importar EDgrid.
$gap: 1rem; // En tamaños de escritorio se multiplica por 2
@import "~ed-grid/ed-grid";
O puede cambiar la separación para un ed-grid especifico usando la nomenclatura breakpoint-gap-numero. El número va de 0 a 4 con separaciones de .5rem.
* Puede usar el numero 05 para crear separaciones de .25rem. Ejemplo: s-gap-05.
================================================
FILE: docs/documentacion/layout-flexbox.html
================================================
EDgrid | Flujo de trabajo (CSS/Sass)
EDgrid es una librería para construir layouts. Puede construirlos con Flexbox o CSS Grid.
ed-container y ed-item
Para construir layouts con Flexbox y EDgrid debe definir contenedores con la clase ed-container e items con la clase ed-item. Con las siguientes reglas:
Un ed-item no puede ser huérfano. Siempre debe ser hijo de un ed-container
Un ed-container debe tener al menos un ed-item como hijo directo.
Los ed-container y ed-item son contenedores para crear layout. No agregue contenido directamente en ellos.
<!-- Bien -->
<div class="ed-container">
<div class="ed-item">
<article>
<p>
En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero,
adarga antigua, rocín flaco y galgo corredor.
</p>
</article>
</div>
</div>
<!-- Mal -->
<div class="ed-container">
<article class="ed-item">
En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero,
adarga antigua, rocín flaco y galgo corredor.
</article>
</div>
Ancho de los ed-container
Los ed-container tienen un ancho predeterminado de 100% y un ancho máximo de 1200px. Así cuando la pantalla es mayor a esta medida, el ed-container queda fijo y se centra horizontalmente.
Si desea un ed-container que mida siempre el 100% de la pantalla agregue la clase full.
Si desea personalizar el ancho máximo del ed-container redefina la variable Sass $max-width antes de importar EDgrid.
$max-width: 1400px;
@import "~ed-grid/ed-grid";
Ancho de los ed-item
Cada ed-item tiene 100% del ancho de su padre a menos que se especifique lo contrario (a través de clases). Las clases para definir el ancho son de dos tipos: porcentajes y fracciones.
1. Porcentajes
La nomenclatura de clase es breakpoint-numero Donde número es cualquier número múltiplo de 5 entre 0 y 100. Así que la clase lg-75 significa que el elemento tendrá 75% del ancho de su padre a partir del breakpoint lg.
Como puede ver, las separaciones entre columnas se crean con paddings laterales.
Si no desea separaciones con paddings (que dan problemas en layouts complejos) use nuestra versión con CSS Grid
Si la suma de los anchos da más de 100, habrá saltos de fila. Así puede crear layouts más complejos sin crear nuevos contenedores.
2. Fracciones
Si quiere dividir el ancho entre 3 o 6 necesitará fracciones. La nomenclatura es breakpoint-numerador-denominador. Por ejemplo: lg-1-3 significa un tercio de ancho (33.33%) a partir del breakpoint lg (1024px). Mientras que xl-2-3 significa dos tercios a partir del breakpoint xl (1440px).
<!-- Layout de tres columnas a partir de 1024px de pantalla -->
<div class="ed-container">
<div class="ed-item s-1-3">1</div>
<div class="ed-item s-1-3">2</div>
<div class="ed-item s-1-3">3</div>
</div>
1
2
3
Anidar contenedores e items
Si necesita anidar elementos para crear layouts más complejos tenga en cuenta las siguientes reglas:
No cree un ed-container como hijo de un ed-item
Para anidar, agregue la clase ed-container a un ed-item entonces ya podrá crear nuevos ed-item nietos.
Si no desea usar las clases ed-container y ed-item puede definir las suyas. Simplemente redefina las variables $container y $item antes de importar EDgrid.
Avanzado: crear contenedores e items con Sass (sin clases HTML)
Si no desea tocar el marcado HTML (o no tiene acceso a el por restricciones del proyecto) puede usar mixins de Sass para definir sus contenedores e items.
Para los contenedores, use el mixin ed-container.
Para los items, use el mixin ed-item($s,$m,$lg,$xl) Los parámetros definen el ancho en cada breakpoint:
Puede omitirlos todos y el ancho será siempre 100%
Un ancho declarado se herederá en los breakpoints superiores.
Puede usar fracciones como parámetro. Por ejemplo: 1/3
La norma recomienda encerrar cada sección en una etiqueta section. Pero en la práctica es dificil conseguirlo siempre así que la presenciad e un titulo indica el cambio de sección y por eso se le agrega una separación vertical mayor con el hermano anterior.
Use las clases de márgenes para separar elementos. La nomenclatura es la siguiente breakpoint-mr-numero y breakpoint-mb-numero Donde mr es margin-right y mb es margin-bottom.
El número va de 0 a 4 con separaciones de .5rem Por ejemplo lg-mb-0 significa margin-bottom:0 a partir del breakpoint lg. Y m-br-4 sinifica margin-right: 2rem a partir del breakpoint m.
* Puede usar el numero 05 para crear separaciones de .25rem. Ejemplo: s-mb-05.
<img alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" width="200">
<img alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" width="200">
Usando margenes
<img class="m-mr-2 s-mb-2" alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" width="200">
<img alt="Logotipo de EDgrid" src="/assets/img/EDgrid-logo.svg" width="200">
Márgenes negativos
Con la misma nomenclatura puede crear márgenes superiores margin-top e izquierdos margin-left pero estos siempre serán negativos y debe usarlos para cancelar una separación con un hermano anterior.
<h1>Bienvenidos a EDteam</h1>
<p>Este es un subtítulo pero aparecerá muy abajo del título</p>
Ejemplo:
Bienvenidos a EDteam
Este es un subtítulo pero aparecerá muy abajo del título
Usando márgenes negativos:
<h1>Bienvenidos a EDteam</h1>
<p class="s-mt-3">Este es un subtítulo con un margen superior negativo</p>
Ejemplo:
Bienvenidos a EDteam
Este es un subtítulo con un margen superior negativo
Paddings
Los paddings agregan una separación interna y tienen la siguiente nomenclatura de clases: breakpoint-p[direction]-numero
Donde direction puede ser t (top), r (right), b (bottom), l (left). Por ejemplo: xl-pb-4. Al igual que en margin, los números van de 0 a 4 indicando separaciones de .5rem.
Para paddings verticales (top y bottom a la vez) use breakpoint-py-numero).
Para paddings horizontales (left y right a la vez) use breakpoint-px-numero
Para paddings en las cuatro direcciones use breakpoint-pxy-numero
* Puede usar el numero 05 para crear paddings de .25rem. Ejemplo: s-py-05.
Un menú responsive es un buen ejemplo de cómo podemos integrar EDgrid con código ajeno a la librería.
Toda la estructura y distribución se harán desde el marcado con la nomenclatura que ya conocemos y a la vez se usarán los mixins que otorga la librería para los estilos en Sass.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sodales convallis dui quis elementum. Aliquam erat neque, suscipit vitae nisi posuere, eleifend luctus enim.
Praesent euismod rutrum dui, suscipit vulputate nisl tincidunt et. Aenean commodo ac ex id malesuada. Morbi luctus tempus venenatis. Integer non ante at diam cursus mattis sit amet a augue.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis tempus justo sit amet velit porttitor pretium. Nam metus dolor, semper vitae dui ac, mattis varius nisi..
La mayoría del siguiente código es para estética del menú.
// Posicionamiento del header
.ed-header {
position : fixed;
top : 0;
width : 100%;
z-index : 100;
.logo { height : 2rem }
// Posicionamiento del nav
// Utilizamos el mixin to() de EDgrid para que sólo se aplique en móvil
.nav {
@include to(lg) {
position : fixed;
left : 0;
bottom : 0;
background : black;
}
}
.menu { list-style : none }
// Colores de links del menú
.link {
color : lightgrey;
&.active { color : cornflowerblue }
@include from(lg) { color : grey }
}
// Estilos para los íconos
.icon {
--size : 1.5rem;
width : var(--size);
height : var(--size);
fill : currentColor;
}
}
SVG
Este componente utiliza íconos para su versión móvil. Puede crear un archivo SVG donde guarde todo el siguiente código o ponerlo al lado de la estructura del header en el HTML.
================================================
FILE: docs/documentacion/menus.html
================================================
EDgrid | Uso con CSS (cssCore)
Menus
Con EDgrid puede crear menus responsive fácilmente. Basta con crear una lista ul y los enlaces dentro de cada li.
Uso con clases CSS
Añada la clase ed-menu alul de nivel superior.
Añada la clase n-horizontal siendon el breakpoint (s,m,l,xl) desde el cual el menú será horizontal
Añada alguna de las tres clases para cambiar el estilo: defaultnav-barbutton-bar
Si va a usar Sass, el marcado HTML debe ser el mismo.
Incluya el mixin edMenu($bp,$style) al ul de nivel superior. Los parámetros son:
$bp breakpoint a partir del cual el menu será horizontal. Puede ser un breakpoint del core de ed-grid (s,m,l,xl) o un breakpoint válido en px, em o rem.
$style (opcional) puede ser default, navBar o buttonBar
.main-menu {
@include edMenu(l,navBar)
}
Trabajo en desarrollo
Este componente no está terminado y estos son algunos de los pendientes
En la version CSS, debería funcionar sin tener que añadir una clase para horizontal (en caso se requiera siempre vertical)
Scripts JS para activar y desactivar el menú en tamaños moviles
Scripts JS para activar y desactivar subniveles en tamaños moviles
Definir la personalizacion de colores para menu, items y links.
================================================
FILE: docs/documentacion/modo-dev.html
================================================
EDgrid | Modo dev
Modo dev
El modo dev es una característica de EDgrid que nos permite saber el breakpoint actual y los componentes del layout (ed-grid, ed-container y ed-item).
Al activarlo el navegador muestra el layout de la siguiente manera:
Los ed-container y ed-grid tienen un borde rojo y en la parte superior una franja roja que imprime sus clases html.
Los ed-item e hijos directos de ed-grid se colorean de azul y a su vez imprimen sus clases html en una franja azul.
Modo dev en Flexbox
1
2
3
Modo dev en Grid
1
2
3
Activar modo dev con clases HTML
Basta con añadirle la clase dev al elemento body
<body class="dev"></body>
Activar el modo dev en Sass
Redefinir la variable $dev a true antes de importar ed-grid
$dev: true;
@import 'path/ed-grid/ed-grid';
Modo dev hover
Si sólo quieres inspeccionar un elemento a la vez y no toda la página, puedes usar el modo desarrollo con hover, donde sólo funcionará con ed-grid, ed-container y ed-item que tengan el estado de hover.
Modo dev con hover
1
2
3
Activar modo dev hover con clases HTML
Basta con añadirle la clase dev-hover al elemento body
<body class="dev-hover"></body>
Activar modo dev hover en Sass
Redefinir la variable $dev-hover a true antes de importar ed-grid (no es necesario redifinir también la variable $dev).
Se conoce como offset al movimiento de un elemento respecto a la posición que se supone deberia tener. En ed-grid, offset no es más que un margin-left. La única ventaja de usar offsets con ed-grid es no escribir a mano las media queries.
Uso con CSS (cssCore)
Basta añadir clases del formato bp-offset-n donde bp es un breakpoint válido de ed-grid (s,m,l,xl) y n un múltiplo de 5 o una fracción según lo indicado en el flujo de trabajo recomendado.
Incluya el mixin offset($s,$m,$l$xl) donde cada parámetro es el offset en cada breakpoint de ed-grid. No hay restricciones a múltiplos de 5, incluso puede pasar fracciones.
Tenga en cuenta que solo es obligatorio el primer parámetro.
.selector {
@include offset(2/3,50,10);
}
Compila a:
.selector{
margin-left:66.66667%;
}
@media screen and (min-width:40em){
.selector{
margin-left:50%;
}
}
@media screen and (min-width:64em){
.selector{
margin-left:10%;
}
}
EDgrid es altamente personalizable pues sus variables de configuración pueden ser sobreescritas. Para hacerlo, debe redefinirlas antes de importar EDgrid.
Ya vio qué es EDgrid y todo lo que es capaz de hacer, pero tal vez no sea suficiente en ciertos casos. ¿Qué tal si quiere utilizar otras propiedades que no tiene la librería?
¿O no quiere estar escribiendo CSS para cada componente y prefiere usar la numenclaruta de clases de EDgrid? Aquí es donde el prototipado avanzado entra en acción.
Utiliza el core de EDgrid para convetir cualquier propiedad en las nomenclaturas de la librería breakpoint-propiedad. Cabe recalcar que esta función sólo está disponible para la versión de EDgrid Sass.
¿Cómo funciona?
Para esto haremos uso del mixin prototype(), el cual podrá utilizarlo en cualquier lugar de su proyecto siempre y cuando EDgrid se haya importado antes. La sintaxis es la siguiente:
@include prototype($names, $property, $value);
/*
* $names - Lista de nombres que usaremos para nombrar nuestras clases.
* Recorremos una lista por si queremos múltiples selectores con el mismo valor
*
* $property, $value - Propiedad CSS con su respectivo valor
*/
<!-- Ambas clases funcionan -->
<p class="s-color-red">Este es un párrafo de color rojo</p>
<p class="s-red-color">Y éste también lo está</p>
Especifidad
Si quiere crear selectores más avanzados como juntar una clase con la nomenclatura que está creando o usar selectores como +, >, ~ entre muchos otros, no podrá hacerlo desde $names,
si no que deberá pasar un cuarto parámetro. Un ejemplo de esto es el componente breakpoint-gap-numero de EDgrid, el cuál solo funciona si el contenedor tiene la clase ed-grid.
// El elemento también tiene la clase .background
// .background.s-red
@include prototype('red', color, red, '.background');
// Algún elemento ancestro tiene la clase .background (nótese el espacio al final)
// .background .s-red
@include prototype('red', color, red, '.background ');
// Hijos directos de un elemento con la clase background
// .background > .s-red
@include prototype('red', color, red, '.background > ');
Debug
El modo debug le permite ver en la terminal el CSS resultado (selector, propiedad, valor y mediaquery). Para activarlo debemos pasar un quinto parámetro en true.
@include prototype('red', color, red, '.background > ', true);
// Introduzca un string vacío si no necesita el cuarto parámetro
// Puede borrarlo una vez que desactive el debug
@include prototype('red', color, red, '', true);
================================================
FILE: docs/documentacion/prototipado.html
================================================
EDgrid | Base (CSS/Sass)
EDgrid le permite hacer prototipos rápidos con poco esfuerzo. La opción de prototipado viene activada por defecto en el proyecto, por lo que no necesita hacer ajustes extras para empezar a usarla.
Botones
Agrega la clase button a un elemento. Si necesita darle márgenes, centrarlo, etc, use las clases que EDgrid proporciona.
Soy un boton
Bordes
Use la clase breakpoint-border para agregar un borde a los cuatro lados.
Use la clase breakpoint-border-none para anular el borde en los cuatro lados.
Use la clase breakpoint-border-[top|right|bottom|left] para agregar un borde solo en el lado seleccionado.
Use la clase breakpoint-border-[top|right|bottom|left]-none para anular el borde en el lado seleccionado.
<div class="s-border lg-30 lg-to-center s-pxy-2">
<h3 class="s-border-bottom">Soy una tarjeta</h3>
<p class="s-mb-0">Yo soy el contenido de esta tarjeta</p>
</div>
Soy una tarjeta
Yo soy el contenido de esta tarjeta
Esquinas redondeadas
Use la clase breakpoint-radius para asignar un border-radius a las cuatro esquinas.
Use la clase breakpoint-radius-none para anular el border-radius de las cuatro esquinas
Use la clase breakpoint-radius-[tl|tr|br|bl] para agregar border-radius en top-left|top-right|bottom-right|bottom-left respectivamente
Use la clase breakpoint-radius-[tl|tr|br|bl]-none para anular el border-radius en top-left|top-right|bottom-right|bottom-left respectivamente
<div class="s-radius s-border lg-30 lg-to-center s-pxy-2">
<h3 class="s-border-bottom">Soy una tarjeta</h3>
<p class="s-mb-0">Yo soy el contenido de esta tarjeta</p>
</div>
Soy una tarjeta
Yo soy el contenido de esta tarjeta
Fondos
Puede usar las clases breakpoint-bg-[grey|blue] Para asignarle un fondo a un elemento. Así podemos crear componentes muy rápido. Por ejemplo, tarjetas:
<div class="lg-50 lg-to-center s-bg-grey s-radius s-pxy-2 l-block">
<p>EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo
sin conflictos con tu proyecto.</p>
<div class="button">Empezar con EDgrid</div>
</div>
EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable
y te permite prototipar y crear layouts en muy poco tiempo sin
conflictos con tu proyecto.
Empezar con EDgrid
<div class="lg-50 lg-to-center s-border s-radius">
<p class="s-pxy-2 s-mb-0">EDgrid es una libreria construida con Sass
(y con versión CSS) para Responsive Web Design (RWD). Es muy ligero,
personalizable y te permite prototipar y crear layouts en muy poco
tiempo sin conflictos con tu proyecto.</p>
<div class="s-bg-grey s-pxy-2">
<div class="button">Empezar con EDgrid</div>
</div>
</div>
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Empezar con EDgrid
Sombras
Use las clases breakpoint-shadow para aplicar sombras en los cuatro lados.
Use las clases breakpoint-shadow-[top|right|bottom|left] para aplicar sombras en los lados seleccionados
Use las clases breakpoint-shadow-none para anular las sombras en los cuatro lados.
<div class="s-shadow-bottom lg-50 lg-to-center s-border s-radius">
<p class="s-pxy-2 s-mb-0">EDgrid es una libreria construida con Sass
(y con versión CSS) para Responsive Web Design (RWD). Es muy ligero,
personalizable y te permite prototipar y crear layouts en muy poco
tiempo sin conflictos con tu proyecto.</p>
<div class="s-bg-grey s-pxy-2">
<div class="button">Empezar con EDgrid</div>
</div>
</div>
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Con los ratios puede obtener elementos de un proporcion de ancho y alto definidos. Por ejemplo 3 x 1 (el triple de ancho que de alto). Tenga en cuenta que por limitaciones de css los elementos con ratio siempre tienen el 100% del ancho de su contenedor.
Ratios
Use las clases breakpoint-ratio-x-y donde x y y son numeros enteros del 1 al 4. x representa el ancho y y el alto.
<div class="ed-grid lg-grid-3 lg-60 lg-to-center s-pxy-1 s-border s-radius s-shadow-bottom">
<div class="s-ratio-16-9 lg-ratio-2-3 s-bg-blue s-mb-2 lg-mb-0"></div>
<div class="lg-cols-2">
<h3>Bienvenido a a EDgrid</h3>
<p>EDgrid es una libreria construida con Sass (y con versión CSS)
para Responsive Web Design (RWD). Es muy ligero, personalizable.</p>
<div class="button">Comenzar con EDgrid</div>
</div>
</div>
Bienvenido a a EDgrid
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable.
Comenzar con EDgrid
Además EDgrid incluye las clases breakpoint-ratio-16-9, breakpoint-ratio-9-16 y breakpoint-ratio-21-9 Ya que son proporciones comunes de elementos multimedia.
Contenedores de imágenes
Puede usar las clases de ratios para contener imagenes evitando que se desborden o se deformen. Solo agregue la clase img-container.
Puede usar la clase circle para obtener un círculo perfecto sin usar clases de ratio. Si va a usarlo para contener una imagen, agregué tambien la clase img-container.
Si va a trabajar con Sass, tenga en cuenta que como se explicó aquí, EDgrid genera dos grupos de código css:
cssCore Clases utilitarias no recomendadas si va a trabajar con Sass (desactivado por defecto para Sass)
cssHelpers Clases utilitarias recomendadas si va a trabajar con Sass (activado por defecto para Sass, puede desactivarlo si desea)
Si es un usuario avanzado puede activar o desactivar estos componentes redefiniendo las variables $cssCore y $cssHelpers antes de importar EDgrid. Estas variables son booleans.
Por ejemplo, si desea construir todo su layout con Sass, sin usar clases en HTML, puede desactivar ambos:
Los componenentes skeleton son una vista previa del contenido que se muestra antes de que se carguen los datos para reducir la frustración del usuario con los tiempos de cargas lentos en un sitio web. Una vez que terminan de cargar, el skeleton desaparece.
En sí no existe un componente único para los skeleton, porque todo dependerá de la UI que tengan en su proyecto, pero eso no es problema ya que con el prototipado usted podrá recrear la gran mayoría de ésta.
Skeleton de card
Curso Bases de Datos Desde Cero
Diseña, estructura y administra bases de datos SQL y crea un sistema de facturación
@media screen and (min-width:1024px){
.menu-movil{
display:none;
}
}
@media screen and (max-width:1440px){
.menu-desktop{
display:none;
}
}
================================================
FILE: docs/index.html
================================================
EDgrid - Libreria Sass/CSS de EDteam para construir layouts web responsive
Maqueta sitios y aplicaciones web sin una línea de CSS
EDgrid implementa un sistema de diseño flexible y personalizable para construir layouts y componentes responsive a la velocidad de la luz ⚡
EDgrid es una libreria construida con Sass (y con versión CSS) para Responsive Web Design (RWD). Es muy ligero, personalizable y te permite prototipar y crear layouts en muy poco tiempo sin conflictos con tu proyecto.
Solo Layout
No añade botones, tipografías, colores ni otro estilo visual. Es layout puro para maquetar que no genera conflictos. Además EDgrid en su versión Sass compila solo el código necesario sin css extra.
Open Source
Completamente gratuito y de código abierto (GPL2). Puede usarlo en proyectos comerciales, descargarlo y estudiar el código y crear sus propias versiones derivadas sin pagar una licencia.
CSS Grid y Flexbox
EDgrid usa las características más modernas de CSS: Flexbox y Grid. Además incluye fallbacks para Grid en navegadores que todavía no lo soporten.
Adiós columnas
¿Cansado de las 12 columnas? Con EDgrid puedes crear layouts con completa libertad sin amarrarte a usar siempre doce columnas.
Debug
El modo dev se activa con una sola línea de código y te muestra la construcción del layout por debajo del capó. Así podrás corregir problemas con facilidad.