Урок ТРЕТИЙ "как сделать сайт" для домохозяек

Описание: Скрапбукинг, квиллинг, декупаж, бисероплетение, рисование и т.п.
Модераторы: Лисица, Птичка

Мышкевич F
Обживаюсь
Обживаюсь
Мышкевич F
Возраст: 43
Репутация: 192
Сообщения: 739
Награды: 3
Имя: Таня
Дети, дата рождения: Андрюша, 17.05.2013
Откуда: KZ-Київ-Warszawa

Генератор идей Мороженое Писака

Сообщение #1 Мышкевич » 10.11.2015, 00:53

Спойлер
Прежде чем делать записи на страничке, поговорим о макете страницы.
Любую страницу можно представить в виде упрощенной модели типа
Изображение
Или вот так
Изображение
Ну не суть важно как, но элементы типа header(верх, заголовок сайта), nav (навигация или меню), main (основное), footer (низ, подвал страницы) присутствуют в подавляющем большинстве страниц. Раньше их разбивали div’ами, только вместо классов ставились id, то есть складывалось в контейнеры типа <div id=«header»></div> или <div id=«nav»></div> и так далее. В css id описываются через #, то есть класс через точку вначале, а айди через решетку вначале.
Для чего? Чтобы проще искать потом по смыслу что и где.
Сейчас html5 позволяет описывать не через айди а просто вместо div’а заключать в теги header, nav, main и так далее. Их вообще много
Изображение
Но использовать их все конечно необязательно.

Мы сейчас верх страницы (телефон и наименование) заключим в тег <header></header>. Дело здесь конечно не только в том, чтобы обозначить топ сайта, нам нужен дополнительный блок, дальше будет видно зачем.
Тут есть такой момент. Сейчас наши блоки Телефон и Наименование по высоте шрифта. И если мы поменяем шрифт у Наименования, то блоки сразу станут разной величины. Мы можем задать высоту в пикселях, но тогда «двигать» буквы, чтобы были по центру, придется отступами, и опять же из-за разной величины шрифта подгонять придется каждый отдельно и не факт что выйдет как надо.
Тут как раз и расскажем об отступах.
Отступы есть двух видов margin и padding.

Марджин дает внешний отступ, то есть вот наш блок имеет границы и добавив значение марджин мы отодвинем наш блок от других блоков, как мы сделали в меню, отодвинув кнопки друг от друга.

Паддинг дает внутренний отступ, то есть в тех же кнопках меню, кто вместо фиксированной высоты в кнопках подставил паддинг увидел, что граница блока расширилась за счет отступов от внутреннего элемента(текста). Это позволило задать равный отступ сверху и снизу и текст оказался посередине.

Кто не использовал - может попробовать в li вместо height подставить padding:2px;

Если пишется только одна цифра, то отступ будет одинаков со всех сторон.
Если две, типа padding:1px 2px; то первое верх/низ, второе лево/право;
если три типа padding:1px 2px 3px; то это верх, потом лево/право, и последняя низ;
если четыре типа padding:1px 2px 3px 4px; то по очереди верх, право, низ, лево.
Это нет необходимости запоминать, потому что отступы можно задавать типа
padding-top:1px;
padding-bottom:1px;
padding-left:1px;
padding-right:1px;

Марджин записывается абсолютно точно так же, только вместо паддинг пишем марджин.
Опять же о паддингах и марджинах с картинками
http://htmlbook.ru/css/margin
http://htmlbook.ru/css/padding

Итак вернемся к хедеру.
Сделать равномерный отступ от верха и от низа с помощью отступов, как это было в кнопках мы не можем - разные шрифты у нас будут на Наименование и Телефон. Что мы сделаем? Мы поменяем стиль отображения на табличный. По умолчанию div отображается как блочный (display:block), но мы хотим табличный(display:table), потому что……ну все пользовались таблицами, там если меняешь высоту шрифта в одной ячейке то меняется высота во всем ряду, плюс для таблиц есть свойство vertical-align (выровнять по высоте).

Таким образом самому хедеру укажем что вести себя надо как табличка, а Наименованию и Телефону укажем, что они table-cell, то есть элементы таблицы, тоже через display. Раз мы им одинаковые свойства даем, то Телефон и Наименование укажем через запятую чтобы два раза не писать. А также из Наименования надо убрать свойство float, раз у нас теперь не блочное а табличное отображение - оно нам не надо.

Также в хедере я сейчас указала бекграундом серенький цвет, чтобы было видно сам блок. Вернее серым цветом сейчас будут наши отступы, паддинг то есть. Мы его тут используем, чтобы текст от края отодвинуть. Отступы указаны у меня частично в процентах, так тоже можно.

header {
display: table;
padding: 20px 5%;
background:grey;
width: 100%;
box-sizing: border-box;
}
.site_name, .telefon{
display:table-cell;
vertical-align: middle;
height: 120px;
}
Теперь как бы мы не поменяли шрифты - текст будет посередине. И так как мы не фиксировали нигде ширину, то при изменении размера экрана оно будет плавно съезжаться и разъезжаться.
Для имени сайта я задала размер шрифта в 3em.
Вообще размеры можно указывать в em (высота шрифта элемента), ex (высота символа х), пунктах (pt), пикселах (px), процентах (%), дюймах, сантиметрах, миллиметрах, пунктах.
http://htmlbook.ru/content/edinitsy-izmereniya

Чтобы покрасить блок как-то красиво, надо убрать бекграунд у Наименования и Телефона и применить что-то к бекграунду Хедера. Если хочется так же сине-желтый, то используем градиент слева направо синий до середины, и с середины желтый

background: linear-gradient(to right, blue 0%, blue 50%, yellow 50%, yellow 100%);

Теперь строчка в Наименовании width:50% становится лишней, она ни на что не влияет больше.
Также мы видим, что у нас есть белая рамочка вокруг нашей странички, отступ, это у body по умолчанию, так что где-то в начале файла со стилями запишем

body{
margin:0px;
}

Вообще на этом месте я в боди перенесла бекгаунд из хедера. В дальнейшем будет лучше видно блок с текстом. А в хедере мы уже все блоки посмотрели.

Займемся меню.

В домашнем задании было, как расположить меню горизонтально, мы сейчас рассмотрим другой способ, аналогично как поступили с хедером, то есть ul зададим табличное поведение display:table; и ширину в 100%, а для li обозначим что это элементы таблицы display:table-cell;
Тут же я убрала все бекграунды, рамочки и тени у <li> и у <a>. А также ширину и высоту в пикселях, высоту заменила внутренними отступами padding:9px 0px;
При таком расположении меню чтобы хорошо выглядело бекграунд логичнее добавить к ul
ul{
display:table;
width:100%;
list-style-type:none;
background: #448AFF;
}
li{
padding:9px 0px;
display:table-cell;
text-align:center;
font-size:18px;
}
a{
text-decoration:none;
color:black;
}

Если посмотреть сейчас то видны опять непонятные отступы слева и снизу - это по умолчанию у списка есть отступы, обнулим их, добавим к ul margin:0px; padding:0px;

Итак, меню у нас не просто вышло в линию, но и расположилось равномерно в длину.

Разметим где у нас будет текст.
В хтмл после меню
напишем
<main></main> ну и вставим посередине какой-то текст, обычно пользуются текстом-рыбой, вот тут можно взятьhttp://ru.lipsum.com
Копируется любая часть, язык можно менять, не принципиально.

В стилях пропишем

main{
min-width:330px;
height:100%;
margin-left: 20px;
margin-right: 20px;
padding:15px;
background:white;
}
То есть мы его разместили с отступами от края слева и справа марджинами и подвинули текст внутри от края паддингом.
Main подкрасили белым. Но видно что блок не занял всю высоту, а только по тексту. Потому что высота 100% равно высоте родительского элемента. У нас это body. Но поставить высоту для боди недостаточно, потому что у боди родительский элемент html. Так что в начале документа со стилями пишем
html, body{
height:100%;
}
Вообще все что касается боди и хтмл выносим в начало.
Для ширины мы указали минимальное значение (min-width) потому что если указать просто ширину, то при изменении размера экрана то, что не будет влезать окажется за «кадром», а если не указать совсем, то окошко с текстом будет схлопываться пока текст не пойдет по слову в линию.

Итак у меня вышло https://jsfiddle.net/jpa5x16L/5/

Для подбора цветовой палитры несколько ссылок:
http://www.creativebloq.com/colour/tools-colour-schemes-12121430

В следующий раз займемся картинками и паттернами

Домашнее задание:
Спойлер
cybd писал(а): добавить подвал (футер)
Изображение
Последний раз редактировалось Мышкевич 12.11.2015, 12:59, всего редактировалось 3 раза.
Изображение


kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #41 kliviya » 12.11.2015, 10:14

cybd, поняла) высоту указываем для таблиц, в ней же может отцентрировать по вертикали)
а здесь высоту регулируем паддингом.
Спасибо!
https://jsfiddle.net/j924jwhk/6/

cybd M
Общаюсь
Общаюсь
Аватара
cybd M
Возраст: 39
Репутация: 458
Сообщения: 565
Награды: 4
Имя: Сергійко

Генератор идей Проверено реалом Мороженое

Сообщение #42 cybd » 12.11.2015, 11:31

kliviya, молодец.

Следующее домашнее задание: сделаем наше меню "живым". При наведении курсора мыши нужно изменить фон пункта меню.

Доп. задание: сделать кликабельным всю область пункта меню (сейчас только текст, см. скриншот)

hover-menu.png
Займайся тим, що подобається.

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #43 kliviya » 12.11.2015, 11:35

cybd писал(а):сделать кликабельным всю область пункта меню (сейчас только текст, см. скриншот)
не поняла задание

Мышкевич F
Обживаюсь
Обживаюсь
Мышкевич F
Возраст: 43
Репутация: 192
Сообщения: 739
Награды: 3
Имя: Таня
Дети, дата рождения: Андрюша, 17.05.2013
Откуда: KZ-Київ-Warszawa

Генератор идей Мороженое Писака

Сообщение #44 Мышкевич » 12.11.2015, 11:53

kliviya, мы когда делали меню, ну или список с ссылками, мы в тег, который обозначает собственно ссылку, обернули текст. Так что когда наводим мышь на текст - стрелочка превращается в лапку, показывая нам, что тут можно клацнуть.
Задание - чтобы не только при наведениии на текст, но и при наведении на сам пункт (ну или кнопку) появлялась лапка.

cybd, ховеры наверное стоит включить в урок, все-таки про них не рассказывалось еще совсем ничего. Ну или хотя бы давать тогда наводку с помощью чего, но я бы в урок таки включила.
Изображение

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #45 kliviya » 12.11.2015, 12:01

Мышкевич писал(а):ховеры наверное стоит включить в урок, все-таки про них не рассказывалось еще совсем ничего
я уже погуглила и нашла ховер
Спойлер
.navigation li a:hover {
background: #92d3d3; /* Цвет блока при наведении курсора. */
color: #6b6b6b; /* Цвет текста при наведении курсора. */
}
осталось разобраться что к чему)))

cybd M
Общаюсь
Общаюсь
Аватара
cybd M
Возраст: 39
Репутация: 458
Сообщения: 565
Награды: 4
Имя: Сергійко

Генератор идей Проверено реалом Мороженое

Сообщение #46 cybd » 12.11.2015, 12:04

kliviya, молодец, умеешь копать!

Мышкевич, на то оно и дополнительное задание, что требует узнать больше, помимо урока.
Займайся тим, що подобається.

Мышкевич F
Обживаюсь
Обживаюсь
Мышкевич F
Возраст: 43
Репутация: 192
Сообщения: 739
Награды: 3
Имя: Таня
Дети, дата рождения: Андрюша, 17.05.2013
Откуда: KZ-Київ-Warszawa

Генератор идей Мороженое Писака

Сообщение #47 Мышкевич » 12.11.2015, 12:04

kliviya, а, ну если получается, то замечательно :)
Изображение

cybd M
Общаюсь
Общаюсь
Аватара
cybd M
Возраст: 39
Репутация: 458
Сообщения: 565
Награды: 4
Имя: Сергійко

Генератор идей Проверено реалом Мороженое

Сообщение #48 cybd » 12.11.2015, 12:18

Мышкевич писал(а):cybd, ховеры наверное стоит включить в урок
Как вариант, можно включить в следующий урок.
Займайся тим, що подобається.

Мышкевич F
Обживаюсь
Обживаюсь
Мышкевич F
Возраст: 43
Репутация: 192
Сообщения: 739
Награды: 3
Имя: Таня
Дети, дата рождения: Андрюша, 17.05.2013
Откуда: KZ-Київ-Warszawa

Генератор идей Мороженое Писака

Сообщение #49 Мышкевич » 12.11.2015, 12:45

cybd, ну да, это таки всем надо знать, а задания делают не все (а кто позже начинает - то может и вовсе пролистнуть их, хотя я сейчас вынесу в первый). Плюс там вот такое вот
.navigation li a
это тоже надо будет упомянуть
Изображение

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #50 kliviya » 12.11.2015, 15:37

cybd писал(а):Следующее домашнее задание: сделаем наше меню "живым". При наведении курсора мыши нужно изменить фон пункта меню.Доп. задание: сделать кликабельным всю область пункта меню (сейчас только текст, см. скриншот)
:)
https://jsfiddle.net/j924jwhk/7/

Мышкевич F
Обживаюсь
Обживаюсь
Мышкевич F
Возраст: 43
Репутация: 192
Сообщения: 739
Награды: 3
Имя: Таня
Дети, дата рождения: Андрюша, 17.05.2013
Откуда: KZ-Київ-Warszawa

Генератор идей Мороженое Писака

Сообщение #51 Мышкевич » 12.11.2015, 15:39

kliviya, супер!
Изображение

cybd M
Общаюсь
Общаюсь
Аватара
cybd M
Возраст: 39
Репутация: 458
Сообщения: 565
Награды: 4
Имя: Сергійко

Генератор идей Проверено реалом Мороженое

Сообщение #52 cybd » 12.11.2015, 15:52

kliviya, хорошо, осталось выполнить доп. задание: кликабельна вся кнопка меню, а не только текст.
Займайся тим, що подобається.

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #53 kliviya » 12.11.2015, 16:26

сразу сделала, белым фоном выделялся только текст.
Потом добилась, чтобы белым фоном выделялась кнопка, и решила, что уже все готово)))
Поняла, нужно сделать так, чтобы "рука" появлялась в любом месте кнопки.

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #54 kliviya » 13.11.2015, 11:50

cybd писал(а):кликабельна вся кнопка меню, а не только текст.
ответ пока знать не хочу, но не отказалась бы от подсказки girl_sigh

cybd M
Общаюсь
Общаюсь
Аватара
cybd M
Возраст: 39
Репутация: 458
Сообщения: 565
Награды: 4
Имя: Сергійко

Генератор идей Проверено реалом Мороженое

Сообщение #55 cybd » 13.11.2015, 13:12

kliviya, padding
Займайся тим, що подобається.

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #56 kliviya » 13.11.2015, 15:10

cybd писал(а):padding
никогда бы не догадалась)))
добавила к a {padding:inherit; } , но кнопка кликабельна только над, под, и на самом тексте, а вот по сторонам текста - нет
https://jsfiddle.net/j924jwhk/8/

jemunya
Поселилась
Поселилась
Аватара
jemunya
Возраст: 37
Репутация: 410
Сообщения: 2731
Награды: 4
Имя: Женя
Дети, дата рождения: Сонюшка, 02.11.12
Откуда: Буча

Рукодельница Добрая фея Мороженое

Сообщение #57 jemunya » 14.11.2015, 19:07

Мышкевич, Танечка, привет! ПРиступила к 3-му уроку. Смотри, остановилась на этом моменте
https://jsfiddle.net/jemunya/ntxr66tk/
но паралельно просматриваю и через Notepad. Так вот, когда открыт у меня просмотр элемента страницы, то вид такой
Спойлер
ИзображениеИзображение
а если я просмотр закрываю и мой все растягивается на весь экран, то блок с сайтом закрывает телефон, то есть выходит вот так
Спойлер
ИзображениеИзображение

Добавлено спустя 34 минуты 27 секунд:
Попробовала сделать дом. задание.
Вышло вот так https://jsfiddle.net/jemunya/c34za470/
Но это не то как надо... кручу-верчу и не могу понять как сделать :wall:
Изображение

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #58 kliviya » 14.11.2015, 19:59

jemunya писал(а):кручу-верчу и не могу понять как сделать
ты должна для фотера указать маджин и паддинг (у тебя стоят ноли)

jemunya
Поселилась
Поселилась
Аватара
jemunya
Возраст: 37
Репутация: 410
Сообщения: 2731
Награды: 4
Имя: Женя
Дети, дата рождения: Сонюшка, 02.11.12
Откуда: Буча

Рукодельница Добрая фея Мороженое

Сообщение #59 jemunya » 14.11.2015, 20:01

О! Получилось!!! https://jsfiddle.net/jemunya/c34za470/
kliviya, спасибо!!!
Изображение

kliviya F
Общаюсь
Общаюсь
Аватара
kliviya F
Возраст: 45
Репутация: 141
Сообщения: 642
Награды: 3
Имя: Антонина
Откуда: Киев

Добрая фея Мороженое

Сообщение #60 kliviya » 14.11.2015, 20:08

jemunya писал(а):О! Получилось!!! https://jsfiddle.net/jemunya/c34za470/
ссылка та же, что и была раньше
Последний раз редактировалось kliviya 14.11.2015, 20:09, всего редактировалось 1 раз.


Вернуться в «Очумелые ручки»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя