Тема: Допоможіть розібрати код
Знайшов ідеально підходящу для мене форму авторизації.Але є моменти які мені не зрозумілі.
@import url(http://fonts.googleapis.com/css?family=Roboto:400,700,900);
* {
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  overflow: -moz-scrollbars-vertical;
  overflow-y: scroll;
}
body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  background: #221662;
  color: white;
}
.login {
  position: absolute;
  top: 70%;
  left: 50%;
  margin: -150px 0 0 -150px;
  width: 300px;
  height: 300px;
  color: rgba(255, 255, 255, 0.85);
  display: inline-block;
  font-size: 16px;
  padding: 8px 12px;
  text-decoration: none;
  border-radius: 10px;
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  -moz-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  border: 1px solid #000;
  background-color: rgba(0, 0, 0, 0.1);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.3)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
}
.login h2 {
  margin: .5em;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  font-weight: 900;
}
.login input,
.login label,
.login .extra {
  outline: none;
  position: absolute;
}
.user,
.password {
  font-size: 150%;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  height: 45px;
  padding: .3em 20px .3em 40px;
  width: 270px;
  background: rgba(0, 0, 0, 0.3);
  border: 0;
  border-radius: 25px;
  box-shadow: 0 -1px 1px rgba(255, 255, 255, 0.8) inset;
}
.password {
  padding: .3em 70px .3em 40px;
}
[for="user"],
.user {
  top: 70px;
}
[for="password"],
.password,
input[type="submit"] {
  top: 150px;
}
[for="password"],
[for="user"] {
  text-indent: -9999px;
}
[for="password"]:before,
[for="user"]:before {
  text-indent: 0;
  position: absolute;
  top: 12px;
  left: 15px;
  font-size: 120%;
  z-index: 1;
}
input[type="submit"] {
  right: 17px;
  height: 43px;
  width: 65px;
  background-color: #6bac14;
  background-image: -webkit-gradient(linear, to bottom, to top, color-stop(0%, #8ff704), color-stop(100%, #1c8700));
  background-image: -webkit-linear-gradient(to bottom, #8ff704, #1c8700);
  background-image: -moz-linear-gradient(to bottom, #8ff704, #1c8700);
  background-image: -o-linear-gradient(to bottom, #8ff704, #1c8700);
  background-image: linear-gradient(to bottom, #8ff704, #1c8700);
  border: 0;
  border-radius: 0 25px 25px 0;
  box-shadow: 0 5px 2px #a6ee40 inset, 1px 1px 0 rgba(0, 0, 0, 0.5);
  color: #fff;
  text-transform: uppercase;
  font-size: 14px;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
  text-align: center;
  cursor:pointer;
}
input[type="submit"]:hover {
  opacity:0.9;
}
label[for="remember"] {
  top: 210px;
  left: 40%;
  cursor: pointer;
  white-space: nowrap;
}
#remember {
  visibility: hidden;
}
.remember:before, .remember:after {
  visibility: visible;
  content: '';
  position: absolute;
  left: -35px;
  top: 4px;
}
.remember:before {
  right: -2px;
  width: 30px;
  height: 15px;
  border-radius: 10px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.8);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.2)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
  background-image: linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.2) 100%);
}
.remember:after {
  top: 2px;
  width: 16px;
  height: 16px;
  background-color: #fff;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e5e5e5), color-stop(100%, #878787));
  background-image: -webkit-linear-gradient(top, #e5e5e5 0%, #878787 100%);
  background-image: -moz-linear-gradient(top, #e5e5e5 0%, #878787 100%);
  background-image: -o-linear-gradient(top, #e5e5e5 0%, #878787 100%);
  background-image: linear-gradient(top, #e5e5e5 0%, #878787 100%);
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  box-shadow: inset 0px 1px 1px white, 0 1px 1px rgba(0, 0, 0, 0.8);
  right: 11px;
}
#remember:checked + .remember:before {
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #c25830), color-stop(100%, #f69c3c));
  background-image: -webkit-linear-gradient(top, #c25830 0%, #f69c3c 100%);
  background-image: -moz-linear-gradient(top, #c25830 0%, #f69c3c 100%);
  background-image: -o-linear-gradient(top, #c25830 0%, #f69c3c 100%);
  background-image: linear-gradient(top, #c25830 0%, #f69c3c 100%);
}
#remember:checked + .remember:after {
  left: -21px;
  font-family: FontAwesome;
  content: '\f00c';
  color: rgba(0, 0, 0, 0.4);
}
.extra {
  bottom: 0;
  width: 100%;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  left: 0;
  border-radius: 0 0 10px 10px;
  -webkit-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 0 0px rgba(255, 255, 255, 0.3);
  -moz-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 0 0px rgba(255, 255, 255, 0.3);
  box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 0 0px rgba(255, 255, 255, 0.3);
  border-top: 1px solid #000;
  word-spacing: -1;
}
.extra a {
  display: inline-block;
  text-decoration: none;
  height: 100%;
}
.extra a.facebook, .extra a.googlePlus {
  top: 0;
  background-position: left top;
  background-repeat: no-repeat;
  width: 49px;
  text-indent: 9999px;
  position: absolute;
  top: 0;
  right: 0;
}
.extra a.facebook:hover, .extra a.googlePlus:hover {
  opacity:0.9;
}
.extra a.facebook:before, .extra a.googlePlus:before {
  position: absolute;
  top: 7px;
  left: 12px;
  text-indent: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 180%;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
}
.extra a.googlePlus {
  border-radius: 0 0 10px 0;
  right: 0;
}
.extra a.facebook {
  right: 50px;
}
.extra a.facebook:before {
  left: 19px;
}
.extra a.forgetPassword {
  width: 200px;
  color: #fff;
  line-height: 45px;
  text-align: left;
  padding-left: 25px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.extra a.forgetPassword:before {
  font-family: FontAwesome;
  content: '\f0e2';
  padding-right: 5px;
}<form id="login" class="login"name = 'myform' action = 'req.php' method = 'post'>
    <h2>Вхід у гру</h2>
    <label for="user" class="icon-user">Логін:</label>
    <input class="user" id="user" name = 'login'/>
    <label for="password" class="icon-lock">Пароль:</label>
    <input type="password" class="password" id="password" name = 'pass'/>
    <label for="remember"><input type="checkbox" id="remember" /><span class="remember"/>Запам'ятати мене</label>
    <input type="submit" value="Вхід" />
    <div class="extra">
        <a href="#" class="forgetPassword">Зареєструватися</a>Мені як новачку багато не зрозуміло.Просто вчити по сайтах та книжках результату не дають.Треба практика.От беру коди та розбираю - так краще запам'ятовується...
Поясніть оце:
1.Що це означає?
* {
  user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}Де взяли селектор "*"?
2.Що робить оцей код:
border-radius: 10px;
  -webkit-background-clip: padding;
  -moz-background-clip: padding;
  background-clip: padding-box;
  -webkit-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  -moz-box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  box-shadow: inset -1px 1px 0px rgba(255, 255, 255, 0.3), inset 1px 1px 0px rgba(255, 255, 255, 0.3);
  background-color: rgba(0, 0, 0, 0.1);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.3)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));
  background-image: linear-gradient(top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3));3.Що означають квадратні дужки, наприклад
[for="user"]або
[type="submit"] ?
4.Як зрозуміти
text-indent: -9999px;.Як це "-9999px"
5.Що робить ":before"?
6.І можете тикнути пальцем в коді, де прописується, щоб біля форм були іконки замість слів, а також де прописується чекбокс.
Буду надзвичайно радий!