Last major update: 25.08.2020
- Что такое авторизация/аутентификация
- Где хранить токены
- Как ставить куки ?
- Процесс логина
- Процесс рефреш токенов
- Кража токенов/Механизм контроля токенов
img { | |
max-width: 100%; | |
height: auto; | |
vertical-align: middle; | |
font-style: italic; | |
background-repeat: no-repeat; | |
background-size: cover; | |
shape-margin: 0.75rem; | |
} | |
https://www.youtube.com/watch?v=345V2MU3E_w&t=601s |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
<title>Gists</title> | |
<link rel="stylesheet" href="styles/styles.css" /> | |
<style> | |
.underline { |
{ | |
"liveSassCompile.settings.formats": [ | |
{ | |
"format": "expanded", | |
"extensionName": ".css", | |
"savePath": "/css" | |
}, | |
{ | |
"format": "compressed", | |
"extensionName": ".min.css", |
{ | |
"printWidth": 80, | |
"tabWidth": 2, | |
"useTabs": false, | |
"semi": true, | |
"singleQuote": true, | |
"trailingComma": "all", | |
"bracketSpacing": true, | |
"jsxBracketSameLine": false, | |
"arrowParens": "avoid", |
.visually-hidden { | |
position: absolute; | |
width: 1px; | |
height: 1px; | |
margin: -1px; | |
border: 0; | |
padding: 0; | |
white-space: nowrap; | |
clip-path: inset(100%); |
.element { | |
flex-basis: calc((100% - кол-во маржинов в строке * значение маржина) / кол-во элементов в строке); | |
} |