24/08/15 Открыта запись на обучение вёрстки для майбба - ссылка на тему

Избранные уроки Photoshop


Вверх
Вниз

COLOR MATE

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » COLOR MATE » Обучение дизайну » Урок #1.3 Формы, последний урок по HTML/CSS


Урок #1.3 Формы, последний урок по HTML/CSS

Сообщений 1 страница 15 из 15

1

1. Формы в HTML

В HTML существуют формы (<form>). В этих формах существуют строковые (<input type="text">), текстовые (<textarea>) и другие элементы. Приведу пример базовой формы:

Код:
<form>
    <input type="text" name="nickname" placeholder="Ваш никнейм">
    <input type="password" name="pass" placeholder="Ваш пароль">
    <input type="email" name="email" placeholder="Ваш емейл">
    <textarea placeholder="Пару слов о себе"></textarea>
    <input type="hidden" name="hide" value="1">
    <input type="submit" value="Отправить форму">
</form>

Общее для всех:
type - тип поля. Указывается для input
name - название поля, при отправки формы она преобразуется в массив название=значение
value - значение поля. Если значение отсутствует, тогда оно будет = тому, что впишется пользователь в поле
placeholder - то, что будет выводится "поверх" поля, т.е. поясняющий текст / он исчезает, если нажать на поле и появляется вновь, если убрать фокус с поля и ничего при этом не ввести

Теперь по типам:
text - обычный текст
password - пароль / обычный текст, но вводимые символы преобразуются в точки, чтобы никто не подглядел
email - емейл / обычный текст, то не даст отправить в форму, если емейл адрес не соответствует шаблону текст@текст.домен / делается для того, чтобы не вводили бред в это поле
hidden - поле скрыто, пользователь его не видит на странице / используется, чтобы передать какое-либо значение
submit - кнопка для отправки формы / даже без тега submit, по-умолчанию, форма будет отправляться при нажатии на любую кнопку (<button></button>)

Другие интересные составляющие:

Список:

Код:
<select name="forum">
        <option value="1">colorforum.ru</option>
        <ontion value="2">qssupport.ru</ontion>
    </select>

В списке (select) представлены опции (option). Пользователь может выбрать одну из опций, её value будет передано как значение списка (в случае выбора colorforum.ru - forum=1

Чекбоксы:

Код:
<input type="checkbox" name="check1" value="1"> <input type="checkbox" name="check2" value="2">

Пользователь может галочкой отметить эти два чекбокса. Если он их отметит, оба чекбокса будут отправлены (check1=1 / check2=2), если выберет только второй, тогда отправится только второй (check2=2).

Радио:

Код:
<input type="radio" checked="checked" name="raz" value="1"> <input type="radio" name="raz" value="2"> <input type="radio" name="raz" value="3>

Радио позволяется выбрать только один из предложенный вариантов. У всех доступных вариантов должен быть одно и то же имя (в примере name="raz"). Так же тут используется checked="checked". Это свойство указывает, что первый вариант должен быть выбран по умолчанию. Такое же свойство можно задать чекбоксам.

2. Отправка формы

Чтобы форма отправлялось, нужно указать метод отправки и куда отправляем.

Методы

Метод указывается так:

Код:
<form method=""> </form>

Методов два:
post - все данные будут отправлены POST запросом, о нём вы можете прочитать тут
get - все данные будут отправлены в виде GET запроса / GET запрос добавляет значения формы в адресную строку, т.е. форма из имени и фамилии при обращении на сайт будет такой:

http://colorforum.ru/form.php?nickname=sdgsdg&pass=sdgsdg&email=sdgsdg%40yandex.ru&forum=1

подчёркнутое - данные нашей формы.

Если метод не указан, по-умолчанию он GET.

Action (куда отправляется форма)

Это указывается так:

Код:
<form action=""> </form>

В качестве экшена может быть указана любая страница, куда эту форму надо отправить.

Если экшен не указан, по-умолчанию форма отправится на страницу, где эта форма находится.

3. Кастомизация формы при помощи CSS

Форму можно кастомизировать при помощи CSS. Думаю, лучше просто кодом всё показать:

form {
  /*  стиль всей формы
      обычно указывают ширину, высоту, фон
      бордеры и т.д.
  */

}

form input {
  /*  стиль для всех input'ов, независимо
      от их типа.
      обычно указывают ширину, отступы, фон,
      цвет текста, бордеры и т.д.
  */

}

form input[type="text"] {
  /*  стиль применяется для для input
      с типом text
  */

}

form input[type="password"] {
  /*  стиль применяется для для input
      с типом password
  */

}

form input[type="email"] {
  /*  стиль применяется для для input
      с типом email
  */

}

form input[type="checkbox"] {
  /*  стиль применяется для для input
      с типом checkbox
  */

}

form input[type="radio"] {
  /*  стиль применяется для для input
      с типом radio
  */

}

form input[type="submit"] {
  /*  стиль применяется для для input
      с типом submit
  */

}

form textarea {
/* стиль применяется только для
      textarea
  */

}

form select {
  /* стиль применяется только для
      select
  */

}

4. Задание

Это последний урок по HTML/CSS, со следующего мы начнём изучать основы js/jquery и постепенно перейдём к майббу. Посему можете считать это обобщением остальных уроков вместе взятых.

1. Нужно создать форму после текста по следующему макету (кликабельно):
http://firepic.org/images/2015-09/26/0xmib8l64m6s.png
2. Дополнительно:
- все поля и кнопка отправки должны быть с border-radius 10
- у кнопки отправки должен быть фон в виде градиента (белый/серый)
- при наведении на кнопку отправить её фон должен становится зеленым
- если я добавлю ещё несколько полей с классами newinput1 newinput2 newinput3, они не должны быть с загругленными краями, как остальные
- ни один элемент формы не должен иметь классов или ИД
- нельзя в css задавать стиль для newinput1 newinput2 newinput3 классов, но можно использовать их в псевдо-классах
- нельзя использовать таблицу, вспоминайте float

Результат нужно скинуть под скрытым текстом в виде ссылки на Google Drive, Я.Диск и т.д., только не на дерьмо а ля letitbit.

Если вы решили начать с этого урока, тогда вам нужно создать папку, в нём создать файл index.html и впихнуть в него код в конце этого урока. После этого перенесите весь CSS код из файла в отдельный css файл, как описано в этой статьие. А ещё лучше делать все по порядку :)

0

2

не получается задать и градиент, и зеленый при наведении. по отдельности - пож-та
может дадите подсказку?

0

3

малиновая нежность
При наведении меняйте цвет не background-color'ом, а background :)

0

4

так.. вроде как то так ахахах

Отредактировано little.Jerry (29-09-2015 20:22:10)

0

5

little.Jerry
Папка не публичная, нужно просить доступ)
Исправьте))

0

6

доделала вроде)

0

7

малиновая нежность
Кнопку "отправить" надо сделать по центру. Если я добавляю новые поля с классами newinput1, newinput2 и newinput3 они всё же с закругленными крями)
Советую пересмотреть способ разделения полей и textarea на две ячейки, ибо сейчас при добавлении нового input'а кнопка "отправить" ставится в ряд с новым полем. Попробуйте div'ы с flot'ом)

0

8

morgan написал(а):

малиновая нежность
Кнопку "отправить" надо сделать по центру. Если я добавляю новые поля с классами newinput1, newinput2 и newinput3 они всё же с закругленными крями)
Советую пересмотреть способ разделения полей и textarea на две ячейки, ибо сейчас при добавлении нового input'а кнопка "отправить" ставится в ряд с новым полем. Попробуйте div'ы с flot'ом)

она по центру.. таблицы и шапки  :rofl:
посмотрю утром, мучилась с отодвиганиями. весь день про них думала сегодня

0

9

morgan
исправла. сейчас норм?

0

10

little.Jerry
Извини за задержку)
http://s6.uploads.ru/SoUXh.png
Это я добавил новое поле с class="newinput1". По условию, я должен добавить три поля с классами newinput1, newinput2 и newinput3, и у них не должны быть округленные края. При этом, нельзя указать стили для этих классов, можно их использовать только в псевдоклассах (подскзка - псевдокласс :not :) ). В остальном всё правильно)

малиновая нежность написал(а):

посмотрю утром, мучилась с отодвиганиями. весь день про них думала сегодня

Вышло?

0

11

morgan написал(а):

Вышло?

со скругленными - да, а вот с подвижениями кнопки.. она двигается вместе с большим полем (которое textarea прописывается)

http://s3.uploads.ru/t/NeLoR.png
http://s7.uploads.ru/t/d51go.png

Отредактировано малиновая нежность (05-10-2015 01:04:59)

0

12

morgan написал(а):

При этом, нельзя указать стили для этих классов, можно их использовать только в псевдоклассах (подскзка - псевдокласс :not  ).

видимо я слегка не догнала..
это выходит куда мне ставиь надо псевдокласс?

Отредактировано little.Jerry (06-10-2015 13:09:01)

0

13

little.Jerry
Нет)

:not([class="newinput1"])

и так далее)

0

14

morgan написал(а):

и так далее)

aaaa такк.. тогда понятно)

0

15

morgan
http://s6.uploads.ru/SoUXh.png если это правильное расположение кнопки "отправить", то у меня изначально было правильно.. а то я сижу тут мучаюсь.

0


Вы здесь » COLOR MATE » Обучение дизайну » Урок #1.3 Формы, последний урок по HTML/CSS