Испытание: через тернии к звёздам [28/28] 100% Ревью кода!

Код:

<!DOCTYPE html>
<html lang="ru">
    <head>
        <title>Испытание: через тернии к звёздам</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="/assets/course74/exam.css">
    </head>
    <body>
        <header class="page-header">Форма отзыва</header>
        <main>
            <form action="/echo" method="post" oninput="ratingoutput.value=rating.value">
                <fieldset>
                <legend>Личные данные</legend>
                <div class="half-width">
                    <label for="id">ID отзыва</label>
                    <input type="text" name="id" value="12345" disabled>
                </div>
                <div class="half-width">
                    <label for="name">Имя путешественника</label>
                    <input type="text" name="name" value="Кекс">
                </div>
                </fieldset>
                <fieldset>
                <legend>Отзыв о поездке</legend>
                <div class="half-width">
                    <label for="country">Страна визита</label>
                    <input type="search" name="country" value="Норвегия">
                </div>
                <div class="half-width">
                    <label for="city">Город</label>
                    <select name="city" size='1'>
                        <option selected value="Осло">Осло</option>
                    </select>
                </div>
                <div class="half-width">
                <label for="rating">Оценка поездки</label>
                    0 <input type="range" name="rating" min="0" max="10" value="10"> 10
                </div>
                <div class="half-width output-area">
                    <output name="ratingoutput">10</output>
                </div>
                <label for="review">Текст отзыва</label>
                <textarea name="review" rows="5">Это было просто мяу!</textarea>
                </fieldset>
                <fieldset>
                <legend>Оценка отеля</legend>
                <div class="half-width">
                    <label for="hotel">Название отеля</label>
                    <input type="text" name="hotel" placeholder='Название по-английски'>
                </div>
                <div class="half-width">
                    <label for="arrival_date">Дата въезда</label>
                    <input type="text" name="arrival_date" placeholder="В формате дд-мм-гггг">
                </div>
                <div class="one-third-width">
                    <label for="color">Цвет кроватки</label>
                    <input type="color" name="color" value="#ff0000">
                </div>
                <div class="two-third-width">
                    <label for="dish_rating">Оценка обедов</label>
                    <select name="dish_rating" size="1">
                        <option selected value="подушечки оближешь">Подушечки оближешь</option>
                    </select>
                </div>
                <label for="fish">Самая вкусная рыба</label>
                <select name="fish" multiple>
                    <option selected value="Норвежский лосось">Норвежский лосось</option>
                    <option value="">Зубатка</option>
                    <option selected value="Морской окунь">Морской окунь</option>
                    <option value="Карась">Карась</option>
                    <option value="Зеркальный карп">Зеркальный карп</option>
                </select>
                </fieldset>
                <div class="buttons">
                    <input type="submit" name="submit" value="Оценить">
                    <input type="reset" name="reset" value="Сбросить">
                </div>
            </form> 
        </main>
        <footer class="page-footer"></footer>
    </body>
</html>

Стили:

form {
    width: 450px;
    margin: 0 auto;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 0 10px #cccccc;
}

fieldset {
    margin-bottom: 15px;
    padding: 10px;
    border: 1px solid #34495e;
    border-radius: 5px;
}

fieldset legend {
    color: #34495e;
}

label {
    display: block;
    margin-bottom: 5px;
}

input,
select,
output,
textarea {
    width: 95%;
    margin: 0 0 10px 0;
    padding: 2px 5px;
    border: 1px solid #cccccc;
    border-radius: 5px;
    vertical-align: middle;
}

input,
select {
    height: 24px;
}

output {
    display: inline-block;
    width: 30px;
    height: 20px;
    margin: 0 5px 10px 0;
    text-align: center;
}

select[multiple] {
    height: 100px;
}

input[type="submit"],
input[type="reset"] { 
    display: inline-block;
    width: auto;
    height: auto;
    margin: 0 5px;
    padding: 6px 15px;
    color: #ffffff;
    background: #2c3e50;
    border: none;
    border-radius: 5px;
}

input[disabled] {
    background-color: #ebebe3;
}

.one-third-width {
    width: 33.3%;
}

.two-third-width {
    width: 66.6%;
}

.half-width {
    width: 50%;
}

.one-third-width,
.two-third-width, 
.half-width {
    display: inline-block;
    margin-right: -4px;
}

.one-third-width input,
.two-third-width select {
    width: 80%;
}

.half-width input,
.half-width select {
    width: 80%;
}

.half-width input[type="range"] {
    width: 65%;
}

.output-area {
    vertical-align: top;
}

.buttons {
    margin-top: 10px;
    text-align: center;
}

body {
    min-width: 553px;
}

main {
    min-height: 400px;
}

Прошу максимально “докопаться” и найти ошибки или возможности как-то улучшить код!

Почему step=“10”?

1 лайк

Чтобы визуально ползунок был как в образце, при проверке выдавал ошибку.
Исправил на value=“10”.

Есть еще замечания?

Вы для input не указали id. Тогда у вас будет работать связь между label и input.

1 лайк

Спасибо! Не заметил, исправлю.

Для этого нужно задать значение поумолчанию 10. value=“10”.