├── .gitattributes ├── .gitignore ├── LICENSE ├── assets ├── .DS_Store ├── edugolas.jpg ├── home1.jpg ├── media.jpg └── video.mp4 ├── css ├── app-comentarios.css ├── reset-new.css └── reset.css ├── index.html ├── readme.md └── scss ├── _reset.scss └── app.scss /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.rsuser 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Build results 17 | [Dd]ebug/ 18 | [Dd]ebugPublic/ 19 | [Rr]elease/ 20 | [Rr]eleases/ 21 | x64/ 22 | x86/ 23 | bld/ 24 | [Bb]in/ 25 | [Oo]bj/ 26 | [Ll]og/ 27 | 28 | # Visual Studio 2015/2017 cache/options directory 29 | .vs/ 30 | # Uncomment if you have tasks that create the project's static files in wwwroot 31 | #wwwroot/ 32 | 33 | # Visual Studio 2017 auto generated files 34 | Generated\ Files/ 35 | 36 | # MSTest test Results 37 | [Tt]est[Rr]esult*/ 38 | [Bb]uild[Ll]og.* 39 | 40 | # NUNIT 41 | *.VisualState.xml 42 | TestResult.xml 43 | 44 | # Build Results of an ATL Project 45 | [Dd]ebugPS/ 46 | [Rr]eleasePS/ 47 | dlldata.c 48 | 49 | # Benchmark Results 50 | BenchmarkDotNet.Artifacts/ 51 | 52 | # .NET Core 53 | project.lock.json 54 | project.fragment.lock.json 55 | artifacts/ 56 | 57 | # StyleCop 58 | StyleCopReport.xml 59 | 60 | # Files built by Visual Studio 61 | *_i.c 62 | *_p.c 63 | *_h.h 64 | *.ilk 65 | *.meta 66 | *.obj 67 | *.iobj 68 | *.pch 69 | *.pdb 70 | *.ipdb 71 | *.pgc 72 | *.pgd 73 | *.rsp 74 | *.sbr 75 | *.tlb 76 | *.tli 77 | *.tlh 78 | *.tmp 79 | *.tmp_proj 80 | *_wpftmp.csproj 81 | *.log 82 | *.vspscc 83 | *.vssscc 84 | .builds 85 | *.pidb 86 | *.svclog 87 | *.scc 88 | 89 | # Chutzpah Test files 90 | _Chutzpah* 91 | 92 | # Visual C++ cache files 93 | ipch/ 94 | *.aps 95 | *.ncb 96 | *.opendb 97 | *.opensdf 98 | *.sdf 99 | *.cachefile 100 | *.VC.db 101 | *.VC.VC.opendb 102 | 103 | # Visual Studio profiler 104 | *.psess 105 | *.vsp 106 | *.vspx 107 | *.sap 108 | 109 | # Visual Studio Trace Files 110 | *.e2e 111 | 112 | # TFS 2012 Local Workspace 113 | $tf/ 114 | 115 | # Guidance Automation Toolkit 116 | *.gpState 117 | 118 | # ReSharper is a .NET coding add-in 119 | _ReSharper*/ 120 | *.[Rr]e[Ss]harper 121 | *.DotSettings.user 122 | 123 | # JustCode is a .NET coding add-in 124 | .JustCode 125 | 126 | # TeamCity is a build add-in 127 | _TeamCity* 128 | 129 | # DotCover is a Code Coverage Tool 130 | *.dotCover 131 | 132 | # AxoCover is a Code Coverage Tool 133 | .axoCover/* 134 | !.axoCover/settings.json 135 | 136 | # Visual Studio code coverage results 137 | *.coverage 138 | *.coveragexml 139 | 140 | # NCrunch 141 | _NCrunch_* 142 | .*crunch*.local.xml 143 | nCrunchTemp_* 144 | 145 | # MightyMoose 146 | *.mm.* 147 | AutoTest.Net/ 148 | 149 | # Web workbench (sass) 150 | .sass-cache/ 151 | 152 | # Installshield output folder 153 | [Ee]xpress/ 154 | 155 | # DocProject is a documentation generator add-in 156 | DocProject/buildhelp/ 157 | DocProject/Help/*.HxT 158 | DocProject/Help/*.HxC 159 | DocProject/Help/*.hhc 160 | DocProject/Help/*.hhk 161 | DocProject/Help/*.hhp 162 | DocProject/Help/Html2 163 | DocProject/Help/html 164 | 165 | # Click-Once directory 166 | publish/ 167 | 168 | # Publish Web Output 169 | *.[Pp]ublish.xml 170 | *.azurePubxml 171 | # Note: Comment the next line if you want to checkin your web deploy settings, 172 | # but database connection strings (with potential passwords) will be unencrypted 173 | *.pubxml 174 | *.publishproj 175 | 176 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 177 | # checkin your Azure Web App publish settings, but sensitive information contained 178 | # in these scripts will be unencrypted 179 | PublishScripts/ 180 | 181 | # NuGet Packages 182 | *.nupkg 183 | # The packages folder can be ignored because of Package Restore 184 | **/[Pp]ackages/* 185 | # except build/, which is used as an MSBuild target. 186 | !**/[Pp]ackages/build/ 187 | # Uncomment if necessary however generally it will be regenerated when needed 188 | #!**/[Pp]ackages/repositories.config 189 | # NuGet v3's project.json files produces more ignorable files 190 | *.nuget.props 191 | *.nuget.targets 192 | 193 | # Microsoft Azure Build Output 194 | csx/ 195 | *.build.csdef 196 | 197 | # Microsoft Azure Emulator 198 | ecf/ 199 | rcf/ 200 | 201 | # Windows Store app package directories and files 202 | AppPackages/ 203 | BundleArtifacts/ 204 | Package.StoreAssociation.xml 205 | _pkginfo.txt 206 | *.appx 207 | 208 | # Visual Studio cache files 209 | # files ending in .cache can be ignored 210 | *.[Cc]ache 211 | # but keep track of directories ending in .cache 212 | !*.[Cc]ache/ 213 | 214 | # Others 215 | ClientBin/ 216 | ~$* 217 | *~ 218 | *.dbmdl 219 | *.dbproj.schemaview 220 | *.jfm 221 | *.pfx 222 | *.publishsettings 223 | orleans.codegen.cs 224 | 225 | # Including strong name files can present a security risk 226 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 227 | #*.snk 228 | 229 | # Since there are multiple workflows, uncomment next line to ignore bower_components 230 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 231 | #bower_components/ 232 | 233 | # RIA/Silverlight projects 234 | Generated_Code/ 235 | 236 | # Backup & report files from converting an old project file 237 | # to a newer Visual Studio version. Backup files are not needed, 238 | # because we have git ;-) 239 | _UpgradeReport_Files/ 240 | Backup*/ 241 | UpgradeLog*.XML 242 | UpgradeLog*.htm 243 | ServiceFabricBackup/ 244 | *.rptproj.bak 245 | 246 | # SQL Server files 247 | *.mdf 248 | *.ldf 249 | *.ndf 250 | 251 | # Business Intelligence projects 252 | *.rdl.data 253 | *.bim.layout 254 | *.bim_*.settings 255 | *.rptproj.rsuser 256 | 257 | # Microsoft Fakes 258 | FakesAssemblies/ 259 | 260 | # GhostDoc plugin setting file 261 | *.GhostDoc.xml 262 | 263 | # Node.js Tools for Visual Studio 264 | .ntvs_analysis.dat 265 | node_modules/ 266 | 267 | # Visual Studio 6 build log 268 | *.plg 269 | 270 | # Visual Studio 6 workspace options file 271 | *.opt 272 | 273 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 274 | *.vbw 275 | 276 | # Visual Studio LightSwitch build output 277 | **/*.HTMLClient/GeneratedArtifacts 278 | **/*.DesktopClient/GeneratedArtifacts 279 | **/*.DesktopClient/ModelManifest.xml 280 | **/*.Server/GeneratedArtifacts 281 | **/*.Server/ModelManifest.xml 282 | _Pvt_Extensions 283 | 284 | # Paket dependency manager 285 | .paket/paket.exe 286 | paket-files/ 287 | 288 | # FAKE - F# Make 289 | .fake/ 290 | 291 | # JetBrains Rider 292 | .idea/ 293 | *.sln.iml 294 | 295 | # CodeRush personal settings 296 | .cr/personal 297 | 298 | # Python Tools for Visual Studio (PTVS) 299 | __pycache__/ 300 | *.pyc 301 | 302 | # Cake - Uncomment if you are using it 303 | # tools/** 304 | # !tools/packages.config 305 | 306 | # Tabs Studio 307 | *.tss 308 | 309 | # Telerik's JustMock configuration file 310 | *.jmconfig 311 | 312 | # BizTalk build output 313 | *.btp.cs 314 | *.btm.cs 315 | *.odx.cs 316 | *.xsd.cs 317 | 318 | # OpenCover UI analysis results 319 | OpenCover/ 320 | 321 | # Azure Stream Analytics local run output 322 | ASALocalRun/ 323 | 324 | # MSBuild Binary and Structured Log 325 | *.binlog 326 | 327 | # NVidia Nsight GPU debugger configuration file 328 | *.nvuser 329 | 330 | # MFractors (Xamarin productivity tool) working folder 331 | .mfractor/ 332 | 333 | # Local History for Visual Studio 334 | .localhistory/ 335 | scss/.DS_Store 336 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Eduardo Fierro 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eduardofierropro/Reset-CSS/a75fb0a21236989d7f4e3fd853e5b626a4ab35a7/assets/.DS_Store -------------------------------------------------------------------------------- /assets/edugolas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eduardofierropro/Reset-CSS/a75fb0a21236989d7f4e3fd853e5b626a4ab35a7/assets/edugolas.jpg -------------------------------------------------------------------------------- /assets/home1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eduardofierropro/Reset-CSS/a75fb0a21236989d7f4e3fd853e5b626a4ab35a7/assets/home1.jpg -------------------------------------------------------------------------------- /assets/media.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eduardofierropro/Reset-CSS/a75fb0a21236989d7f4e3fd853e5b626a4ab35a7/assets/media.jpg -------------------------------------------------------------------------------- /assets/video.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eduardofierropro/Reset-CSS/a75fb0a21236989d7f4e3fd853e5b626a4ab35a7/assets/video.mp4 -------------------------------------------------------------------------------- /css/app-comentarios.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* 3 | 4 | Con este reset vamos a resolver: 5 | 👉 Unificar el uso de Custom Properties 6 | 👉 Problemas de box-model más generales 7 | 👉 Problemas con imagenes, vídeos e iconos svg 8 | 👉 Problemas con tipografías y etiquetas input en formularios 9 | 👉 Unificar la tipografía de todas las etiquetas de una web 10 | 11 | */ 12 | 13 | /* Reseteamos la tipografía por defecto para todos los navegadores */ 14 | :root { 15 | font-size : 100% ; /* Configuramos el tamaño definido por el usuario */ 16 | font-family: system-ui, sans-serif; /* Configuramos la tipografía definida por el usuario */ 17 | scroll-behavior : smooth ; /* Configuramos anclas suaves */ 18 | 19 | /* (Opcional) Aquí definimos las custom properties */ 20 | 21 | } 22 | 23 | /* (Opcional) Las adaptamos al modo oscuro */ 24 | /* @media (prefers-color-scheme: dark) { 25 | :root { 26 | --tu-propia-variable: #ececec; 27 | } 28 | } */ 29 | /* (Opcional) Configuramos si un usuario ha activado el modo alto contraste. (WD) */ 30 | /* 31 | @media (prefers-contrast: high){ 32 | :root{ 33 | --tu-propia-variable: #ececec;} 34 | } 35 | */ 36 | 37 | /* (Opcional) Desactivamos los animations en el caso de que el usuario haya configurado el modo sin animation */ 38 | /* 39 | @media (prefers-reduced-motion: reduce) { 40 | * { 41 | animation: none !important; 42 | transition: none !important; 43 | } 44 | } 45 | */ 46 | /* Reseteamos los margin y paddings de todas las etiquetas */ 47 | * , *::before , *::after{ 48 | margin: 0; 49 | padding: 0; 50 | border: 0; 51 | box-sizing: border-box; 52 | vertical-align: baseline; 53 | } 54 | *::before , *::after{ 55 | display: block; 56 | } 57 | 58 | /* Evitamos problemas con las imagenes */ 59 | img, picture, video, iframe, figure , canvas{ 60 | max-width: 100%; 61 | width: 100%; 62 | display: block; 63 | height: initial; 64 | /* (Opcional) */ -o-object-fit: cover; 65 | /* (Opcional) */ object-fit: cover; 66 | /* (Opcional) */ -o-object-position: center center; 67 | /* (Opcional) */ object-position: center center; 68 | } 69 | 70 | /* Anchors: Reseteamos los enlaces para funcionar como cajas... */ 71 | a { 72 | display: block; 73 | text-decoration: none; 74 | color: inherit; 75 | font: inherit; 76 | } 77 | /* ... excepto los que se encuentran en párrafos */ 78 | p a { 79 | display: inline; 80 | } 81 | 82 | /* Quitamos los puntos de los
  • */ 83 | li , menu, summary { 84 | list-style: none; 85 | } 86 | /* Evita que listas anidadas sigan numerando desde el padre en Firefox. */ 87 | ol{ 88 | counter-reset: revert; 89 | } 90 | /* Desactivamos estilos por defecto de las principales etiquetas de texto */ 91 | h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em, mark, del, pre, code { 92 | font:inherit; 93 | color: inherit; 94 | text-decoration: none; 95 | text-wrap: pretty; 96 | } 97 | mark{ 98 | background-color: transparent; 99 | } 100 | /* Evitamos problemas con los pseudoelementos de quotes */ 101 | blockquote:before, blockquote:after, q:before, q:after { 102 | content: ""; 103 | content: none; 104 | } 105 | /* (Opcional): Configuramos el texto que seleccionamos */ 106 | /* ::-moz-selection { 107 | background-color: var(--tu-propia-variable); 108 | color: var(--blanco); 109 | } 110 | ::selection { 111 | background-color: var(--tu-propia-variable); 112 | color: var(--blanco); 113 | } */ 114 | 115 | /* Nivelamos problemas de tipografías y colocación de formularios */ 116 | form, input, textarea, select, button, label { 117 | font: inherit; 118 | background-color: transparent; 119 | color: inherit; 120 | display: block; 121 | /* (Opcional) */ -webkit-hyphens: auto; 122 | /* (Opcional) */ -ms-hyphens: auto; 123 | /* (Opcional) */ hyphens: auto; 124 | /* (Opcional) */ -webkit-appearance: none; 125 | /* (Opcional) */ -moz-appearance: none; 126 | /* (Opcional) */ appearance: none; 127 | } 128 | /* Safari tiene un bug en textarea donde white-space: revert; puede causar colapsos en contenido largo */ 129 | textarea { 130 | white-space: pre-wrap; 131 | } 132 | /* Añadimos el cursor y evitamos problemas con display:revert en algunos navegadores */ 133 | button , label{ 134 | cursor: pointer; 135 | } 136 | /* Elimina el color predeterminado de los placeholders */ 137 | ::placeholder { 138 | color: unset; 139 | } 140 | /* Reseteamos las tablas */ 141 | table, tr, td , th, thead, tbody, tfoot{ 142 | border-collapse: collapse; 143 | border-spacing: 0; 144 | font:inherit; 145 | } 146 | 147 | /* Evitamos problemas con los SVG */ 148 | svg { 149 | width: 100%; 150 | display: block; 151 | fill: currentColor; 152 | } 153 | p svg{ 154 | display: inline; 155 | width: initial; 156 | } 157 | /* Corrige un bug en Chrome para contenteditable */ 158 | :where([contenteditable]:not([contenteditable="false"])) { 159 | -moz-user-modify: read-write; 160 | -webkit-user-modify: read-write; 161 | overflow-wrap: break-word; 162 | -webkit-line-break: after-white-space; 163 | -webkit-user-select: auto; 164 | } 165 | /* Hace que los elementos arrastrables se comporten correctamente en Safari */ 166 | :where([draggable="true"]) { 167 | -webkit-user-drag: element; 168 | } 169 | 170 | /* Configuramos la tipografía para toda la web */ 171 | body { 172 | min-height: 100vh; 173 | color:inherit; 174 | line-height: 1.5em; 175 | /* opcional */ 176 | -webkit-hyphens: auto; 177 | -ms-hyphens: auto; 178 | hyphens: auto; 179 | /* opcional */ 180 | font-smooth: always; 181 | /* opcional */ 182 | -webkit-font-smoothing: antialiased; 183 | /* opcional */ 184 | -moz-osx-font-smoothing: grayscale; 185 | } -------------------------------------------------------------------------------- /css/reset-new.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | :root { 4 | font-size : 100% ; 5 | font-family: system-ui, sans-serif; 6 | scroll-behavior : smooth ; 7 | } 8 | @media (prefers-reduced-motion: reduce) { 9 | * { 10 | -webkit-animation: none !important; 11 | animation: none !important; 12 | -webkit-transition: none !important; 13 | transition: none !important; 14 | } 15 | } 16 | *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) { 17 | all: unset; 18 | display: revert; 19 | } 20 | *::before , *::after{ 21 | display: block; 22 | } 23 | img, picture, video, iframe, figure , canvas{ 24 | max-width: 100%; 25 | width: 100%; 26 | display: block; 27 | height: initial; 28 | } 29 | a { 30 | display: block; 31 | text-decoration: none; 32 | color: inherit; 33 | font: inherit; 34 | } 35 | p a { 36 | display: inline; 37 | } 38 | li , menu, summary { 39 | list-style: none; 40 | } 41 | ol{ 42 | counter-reset: revert; 43 | } 44 | h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em, mark, del, pre, code { 45 | font:inherit; 46 | color: inherit; 47 | text-decoration: none; 48 | text-wrap: pretty; 49 | } 50 | blockquote:before, blockquote:after, q:before, q:after { 51 | content: ""; 52 | content: none; 53 | } 54 | form, input, textarea, select, button, label { 55 | font:inherit; 56 | hyphens: auto; 57 | background-color: transparent; 58 | color: inherit; 59 | display: block; 60 | } 61 | textarea { 62 | white-space: pre-wrap; 63 | } 64 | button , label{ 65 | cursor: pointer; 66 | } 67 | ::placeholder { 68 | color: unset; 69 | } 70 | table, tr, td , th, thead, tbody, tfoot{ 71 | border-collapse: collapse; 72 | border-spacing: 0; 73 | font:inherit; 74 | } 75 | 76 | svg { 77 | width: 100%; 78 | display: block; 79 | fill: currentColor; 80 | } 81 | p svg{ 82 | display: inline; 83 | width: initial; 84 | } 85 | :where([contenteditable]:not([contenteditable="false"])) { 86 | -moz-user-modify: read-write; 87 | -webkit-user-modify: read-write; 88 | overflow-wrap: break-word; 89 | -webkit-line-break: after-white-space; 90 | -webkit-user-select: auto; 91 | } 92 | :where([draggable="true"]) { 93 | -webkit-user-drag: element; 94 | } 95 | 96 | body { 97 | min-height: 100vh; 98 | color:inherit; 99 | line-height: 1.5em; 100 | -webkit-hyphens: auto; 101 | -ms-hyphens: auto; 102 | hyphens: auto; 103 | font-smooth: always; 104 | -webkit-font-smoothing: antialiased; 105 | -moz-osx-font-smoothing: grayscale; 106 | } -------------------------------------------------------------------------------- /css/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | :root { 4 | font-size : 100% ; 5 | font-family: system-ui, sans-serif; 6 | scroll-behavior : smooth ; 7 | 8 | /* (Opcional) Aquí definimos las custom properties */ 9 | 10 | } 11 | @media (prefers-reduced-motion: reduce) { 12 | * { 13 | -webkit-animation: none !important; 14 | animation: none !important; 15 | -webkit-transition: none !important; 16 | transition: none !important; 17 | } 18 | } 19 | * , *::before , *::after{ 20 | margin: 0; 21 | padding: 0; 22 | border: 0; 23 | box-sizing: border-box; 24 | vertical-align: baseline; 25 | } 26 | *::before , *::after{ 27 | display: block; 28 | } 29 | img, picture, video, iframe, figure , canvas{ 30 | max-width: 100%; 31 | width: 100%; 32 | display: block; 33 | height: initial; 34 | } 35 | a { 36 | display: block; 37 | text-decoration: none; 38 | color: inherit; 39 | font-size: inherit; 40 | } 41 | p a { 42 | display: inline; 43 | } 44 | li , menu, summary { 45 | list-style: none; 46 | } 47 | ol{ 48 | counter-reset: revert; 49 | } 50 | html { 51 | scroll-behavior: smooth; 52 | } 53 | h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em, mark, del, pre, code { 54 | font:inherit; 55 | color: inherit; 56 | text-decoration: none; 57 | text-wrap: pretty; 58 | } 59 | mark{ 60 | background-color: transparent; 61 | } 62 | blockquote:before, blockquote:after, q:before, q:after { 63 | content: ""; 64 | content: none; 65 | } 66 | form, input, textarea, select, button, label { 67 | font:inherit; 68 | hyphens: auto; 69 | background-color: transparent; 70 | color: inherit; 71 | display: block; 72 | } 73 | textarea { 74 | white-space: pre-wrap; 75 | } 76 | ::placeholder { 77 | color: unset; 78 | } 79 | button , label{ 80 | cursor: pointer; 81 | } 82 | table, tr, td , th, thead, tbody, tfoot{ 83 | border-collapse: collapse; 84 | border-spacing: 0; 85 | font:inherit; 86 | } 87 | svg { 88 | width: 100%; 89 | display: block; 90 | fill: currentColor; 91 | } 92 | p svg{ 93 | display: inline; 94 | width: initial; 95 | } 96 | :where([contenteditable]:not([contenteditable="false"])) { 97 | -moz-user-modify: read-write; 98 | -webkit-user-modify: read-write; 99 | overflow-wrap: break-word; 100 | -webkit-line-break: after-white-space; 101 | -webkit-user-select: auto; 102 | } 103 | :where([draggable="true"]) { 104 | -webkit-user-drag: element; 105 | } 106 | body { 107 | min-height: 100vh; 108 | color:inherit; 109 | line-height: 1.5em; 110 | -webkit-hyphens: auto; 111 | -ms-hyphens: auto; 112 | hyphens: auto; 113 | font-smooth: always; 114 | -webkit-font-smoothing: antialiased; 115 | -moz-osx-font-smoothing: grayscale; 116 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Reset en CSS 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |

    Texto

    31 |

    Texto

    32 |

    Texto

    33 |

    Texto

    34 |
    Texto
    35 |
    Texto
    36 | 37 |
    Texto
    38 |
    Texto
    39 |
    Texto
    40 | 41 | 42 | Texto 43 |

    Texto Texto Texto Texto

    44 | 45 | 48 |
      49 |
    1. Texto
    2. 50 |
    51 |
    52 |
    Texto
    53 |
    Texto
    54 |
    55 | 56 |
    57 | 58 | 59 | 60 | 61 | 62 | 67 | 68 |
    69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
    TextoTexto
    TextoTexto
    TextoTexto
    87 | 88 | Imagen 89 | Imagen 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![Imagen del proyecto](https://github.com/eduardofierropro/Reset-CSS/blob/main/assets/home1.jpg) 2 | 3 | # Reset CSS PRO 4 | 5 | Reset CSS Pro es un reset CSS optimizado que elimina las diferencias entre navegadores, estandarizando estilos y evitando inconsistencias en márgenes, tipografías y elementos HTML configurable que te permite: 6 | 7 | * Unificar el uso de Custom Properties 8 | * Problemas de box-model más generales 9 | * Problemas con imagenes, vídeos e iconos svg 10 | * Problemas con tipografías y etiquetas input en formularios 11 | * Unificar la tipografía de todas las etiquetas de una web 12 | * Añade la nu 13 | 14 | [![Configurador en resetcss.pro](https://img.shields.io/static/v1?label=&message=Ir%20a%20resetcss.pro&color=000000&style=for-the-badge)](https://resetcss.pro/) 15 | [![Youtube](https://img.shields.io/static/v1?label=&message=aprender%20teoria&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/bXqPNoYFK8w) 16 | [![Youtube](https://img.shields.io/static/v1?label=&message=explicación%20del%20código&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/Foieq2jTajE) 17 | 18 | ## Instalación en NPM 19 | 20 | Primero debes de instalarlo en tu proyecto con: 21 | 22 | ```bash 23 | npm i reset-css-pro 24 | ``` 25 | 26 | Después dentro del proyecto puedes importarlo desde Javascript o desde CSS, por ejemplo si estás usando Vite en el archivo `App.jsx` puedes añadir: 27 | 28 | ```js 29 | import 'reset-css-pro' 30 | ``` 31 | 32 | Y otra opción desde el archivo `index.css` puedes añadir: 33 | ```css 34 | @import 'reset-css-pro'; 35 | ``` 36 | 37 | ## Instalación en proyecto sencillo de HTML y CSS 38 | Puedes ir a la web [resetcss.pro](https://resetcss.pro) y copiarlo directamente desde el configurador para probarlo. 39 | 40 | [![Configurador en resetcss.pro](https://img.shields.io/static/v1?label=&message=Configuralo%20en%20resetcss.pro&color=000&style=for-the-badge)](https://resetcss.pro/) 41 | 42 | ## Configuración del reset para NPM 43 | La idea de un reset es que se adapte a tu forma de maquetar, y puedes configurarlo para sólo usar ciertas partes del reset que mejor se adapten a tí. 44 | 45 | 46 | ### Tanto en CSS... 47 | ```css 48 | @import 'reset-css-pro'; /* Incluye todo el reset */ 49 | @import 'reset-css-pro/anchor'; /* Incluye sólo para los enlaces */ 50 | @import 'reset-css-pro/body'; /* Incluye sólo el body */ 51 | @import 'reset-css-pro/box-model'; /* Incluye sólo el clásico *{margin:0} */ 52 | @import 'reset-css-pro/forms'; /* Incluye sólo reset de formularios */ 53 | @import 'reset-css-pro/list'; /* Incluye sólo los puntos de la lista */ 54 | @import 'reset-css-pro/media'; /* Incluye sólo imágenes, video e iframes*/ 55 | @import 'reset-css-pro/motion'; /* Incluye sólo eliminar animaciones en reduced-motion */ 56 | @import 'reset-css-pro/smooth-anchor'; /* Incluye sólo anclas suaves */ 57 | @import 'reset-css-pro/svg'; /* Incluye sólo etiquetas svg */ 58 | @import 'reset-css-pro/table'; /* Incluye sólo reset para tablas */ 59 | @import 'reset-css-pro/typography';/* Incluye sólo el reset de tipografías */ 60 | ``` 61 | 62 | ### ... como en Javascript 63 | ```js 64 | import 'reset-css-pro'; // Incluye todo el reset 65 | import 'reset-css-pro/anchor'; // Incluye sólo para los enlaces 66 | import 'reset-css-pro/body'; // Incluye sólo el body 67 | import 'reset-css-pro/box-model'; // Incluye sólo el clásico *{margin:0} 68 | import 'reset-css-pro/forms'; // Incluye sólo reset de formularios 69 | import 'reset-css-pro/list'; // Incluye sólo los puntos de la lista 70 | import 'reset-css-pro/media'; // Incluye sólo imágenes, video e iframes 71 | import 'reset-css-pro/motion'; // Incluye sólo eliminar animaciones en reduced-motion 72 | import 'reset-css-pro/smooth-anchor'; // Incluye sólo anclas suaves 73 | import 'reset-css-pro/svg'; // Incluye sólo etiquetas svg 74 | import 'reset-css-pro/table'; // Incluye sólo reset para tablas 75 | import 'reset-css-pro/typography'; // Incluye sólo el reset de tipografías 76 | ``` 77 | 78 | ## ¿Qué problemas resuelve? 79 | 80 | * Definición básica de Custom properties con tipografías y colores 81 | * *Opcional* Custom Properties en modo oscuro 82 | * *Opcional* Configuramos si un usuario ha activado el modo alto contraste *(WD)* 83 | * Reset de margin, paddings y border de todas las etiquetas 84 | * Evitamos problemas con las imagenes con recomendaciones de Microsoft 85 | * *Opcional* object-fit: cover; 86 | * *Opcional* object-position: center center; 87 | * Reset para las anclas que funcionen como cajas excepto los que se encuentran en párrafos 88 | * *Opcional* Configuramos anclas suaves 89 | * Quitamos los puntos de los `
  • ` 90 | * Desactivamos estilos por defecto de las principales etiquetas de texto 91 | * Evitamos problemas con los pseudoelementos de *quotes* 92 | * Configuramos el selection de una web en base al color principal 93 | * Reset de los problemas tipográficos y la colocación de elementos de formularios 94 | * *Opcional* appearance: none; 95 | * Reseteamos las tablas 96 | * Evitamos problemas con los SVG 97 | * Configuramos la tipografía para toda la web 98 | * *Opcional* Configuración de interlineado 99 | * *Opcional* Problemas con palabras largas gracias a hyphens 100 | * *Opcional* Tipografía más suave en macOS gracias a font-smooth 101 | 102 | 103 | ## 📥 Descarga el PDF con todos los módulos 104 | Aquí te dejo [un enlace de descarga hacia un PDF](https://eduardofierro.pro/descargas/modulos-de-una-web.pdf?utm_source=modulos-web&utm_medium=github&utm_campaign=descarga-pdf) con el resto de módulos, resumen y teoría. 105 | 106 | 107 | ## 🔴 Vídeos relacionados con el reset 108 | 109 | | Nombre | Youtube | 110 | |--|--| 111 | |Reset CSS: Teoría|[![Youtube](https://img.shields.io/static/v1?label=&message=ver%20video&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/bXqPNoYFK8w)| 112 | |Reset PRO: Código|[![Youtube](https://img.shields.io/static/v1?label=&message=ver%20video&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/Foieq2jTajE)| 113 | |Nomenclaturas CSS|[![Youtube](https://img.shields.io/static/v1?label=&message=ver%20video&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/lhEJkeCJ3As)| 114 | |Metodologías CSS|[![Youtube](https://img.shields.io/static/v1?label=&message=ver%20video&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/f0LpZoyY1gE)| 115 | |Arquitecturas CSS|[![Youtube](https://img.shields.io/static/v1?label=&message=ver%20video&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtu.be/tUldrlfIGb4)| 116 | 117 | 118 | ## 💻 Repositorios y vídeos relacionados 119 | 120 | En estos repositorios tendrás acceso a todas las versiones de cada módulo creadas con diferentes tecnologías como HTML, SCSS, TS, Angular, ReactJS... 121 | Para que puedas practicar con un código básico. 122 | 123 | | Nombre | Playlist | Repositorio | 124 | |--|--|--| 125 | |Menú Responsive |[![Youtube](https://img.shields.io/static/v1?label=&message=ver%2020en%20playlist&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://www.youtube.com/playlist?list=PLJpymL0goBgFA5iTweWRejUhBP9TSSNnw)|[![github](https://img.shields.io/static/v1?label=&message=ver%20repo&color=171515&logo=github&logoColor=white&style=for-the-badge)](https://github.com/eduardofierropro/eduardofierropro-Como-crear-un-menu-hamburguesa-horizontal)| 126 | 129 | 130 | ## 👨🏻‍🏫 Eduardo Fierro Pro 131 | 132 | ¡Qué pasa cruck! Soy profesor de programación tanto en escuelas como en Bootcamps y en mis tiempos libres programo por Twitch y en Youtube. 133 | 134 | [![Youtube](https://img.shields.io/static/v1?label=&message=youtube&color=FF0000&logo=youtube&logoColor=white&style=for-the-badge)](https://youtube.com/EduardoFierroPro?sub_confirmation=1) 135 | [![twitch](https://img.shields.io/static/v1?label=&message=twitch&color=6441a5&logo=twitch&logoColor=white&style=for-the-badge)](https://twitch.tv/eduardofierropro) 136 | [![tiktok](https://img.shields.io/static/v1?label=&message=tiktok&color=ff0050&logo=tiktok&logoColor=white&style=for-the-badge)](https://www.tiktok.com/@eduardofierro.pro?) 137 | [![instagram](https://img.shields.io/static/v1?label=&message=instagram&color=5B51D8&logo=instagram&logoColor=white&style=for-the-badge)](https://instagram.com/eduardofierro.pro) 138 | [![linkedin](https://img.shields.io/static/v1?label=&message=linkedin&color=0e76a8&logo=linkedin&logoColor=white&style=for-the-badge)](https://www.linkedin.com/in/eduardofierropro) 139 | [![discord](https://img.shields.io/static/v1?label=&message=discord&color=7289da&logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/t4Txush) 140 | [![twitter](https://img.shields.io/static/v1?label=&message=twitter&color=1DA1F2&logo=twitter&logoColor=white&style=for-the-badge)](https://twitter.com/edfierropro) 141 | [![github](https://img.shields.io/static/v1?label=&message=github&color=171515&logo=github&logoColor=white&style=for-the-badge)](https://github.com/eduardofierropro) 142 | [![colaboración](https://img.shields.io/static/v1?label=&message=MIS%20CURSOS&color=blue&logo=teach&logoColor=white&style=for-the-badge)](http://colaboracion.eduardofierro.pro) 143 | 144 | 145 | ## 📄 Licencia 146 | 147 | MIT Public License v3.0 148 | No puede usarse comercialmente 149 | -------------------------------------------------------------------------------- /scss/_reset.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | :root { 4 | font-size : 100% ; 5 | font-family: system-ui, sans-serif; 6 | scroll-behavior : smooth ; 7 | 8 | /* (Opcional) Aquí definimos las custom properties */ 9 | 10 | } 11 | @media (prefers-reduced-motion: reduce) { 12 | * { 13 | -webkit-animation: none !important; 14 | animation: none !important; 15 | -webkit-transition: none !important; 16 | transition: none !important; 17 | } 18 | } 19 | * , *::before , *::after{ 20 | margin: 0; 21 | padding: 0; 22 | border: 0; 23 | box-sizing: border-box; 24 | vertical-align: baseline; 25 | } 26 | *::before , *::after{ 27 | display: block; 28 | } 29 | img, picture, video, iframe, figure , canvas{ 30 | max-width: 100%; 31 | width: 100%; 32 | display: block; 33 | height: initial; 34 | } 35 | a { 36 | display: block; 37 | text-decoration: none; 38 | color: inherit; 39 | font-size: inherit; 40 | } 41 | p a { 42 | display: inline; 43 | } 44 | li , menu, summary { 45 | list-style: none; 46 | } 47 | ol{ 48 | counter-reset: revert; 49 | } 50 | html { 51 | scroll-behavior: smooth; 52 | } 53 | h1, h2, h3, h4, h5, h6, p, span, a, strong, blockquote, i, b, u, em, mark, del, pre, code { 54 | font:inherit; 55 | color: inherit; 56 | text-decoration: none; 57 | text-wrap: pretty; 58 | } 59 | mark{ 60 | background-color: transparent; 61 | } 62 | blockquote:before, blockquote:after, q:before, q:after { 63 | content: ""; 64 | content: none; 65 | } 66 | form, input, textarea, select, button, label { 67 | font:inherit; 68 | hyphens: auto; 69 | background-color: transparent; 70 | color: inherit; 71 | display: block; 72 | } 73 | textarea { 74 | white-space: pre-wrap; 75 | } 76 | ::placeholder { 77 | color: unset; 78 | } 79 | button , label{ 80 | cursor: pointer; 81 | } 82 | table, tr, td , th, thead, tbody, tfoot{ 83 | border-collapse: collapse; 84 | border-spacing: 0; 85 | font:inherit; 86 | } 87 | svg { 88 | width: 100%; 89 | display: block; 90 | fill: currentColor; 91 | } 92 | p svg{ 93 | display: inline; 94 | width: initial; 95 | } 96 | :where([contenteditable]:not([contenteditable="false"])) { 97 | -moz-user-modify: read-write; 98 | -webkit-user-modify: read-write; 99 | overflow-wrap: break-word; 100 | -webkit-line-break: after-white-space; 101 | -webkit-user-select: auto; 102 | } 103 | :where([draggable="true"]) { 104 | -webkit-user-drag: element; 105 | } 106 | body { 107 | min-height: 100vh; 108 | color:inherit; 109 | line-height: 1.5em; 110 | hyphens: auto; 111 | font-smooth: always; 112 | -webkit-font-smoothing: antialiased; 113 | -moz-osx-font-smoothing: grayscale; 114 | } -------------------------------------------------------------------------------- /scss/app.scss: -------------------------------------------------------------------------------- 1 | @use '_reset'; --------------------------------------------------------------------------------