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

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

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

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

Сообщение #1 Мышкевич » 04.11.2015, 15:31

Итак, меню.
Спойлер
По сути меню это список, состоящий из ссылок, ведущих на другие странички. Все остальное - кнопочки, подсветки и прочее это просто фоновое оформление, рисунок.
Для того, чтобы рассказать, что именно эти слова являются списком, заключим его в теги, обозначающие список: в начале поставим <ul> а в конце </ul>.
Помним, что браузеру отступы и переносы на другую строчку безразличны, так что для удобства поставим их на отдельные строчки.
Спойлер

<ul>
Меню:
Главная
О нас
Контакты
История
</ul>
Но если мы посмотрим сейчас в браузере, то увидим, что меню по прежнему в линию. Нам надо опять же рассказать, что наше «Главная», «О нас», «Контакты» и тп - это отдельные строчки списка.
Заключаем каждую в теги li в начале строчки <li> и в конце </li>. Слово «меню» не трогаем, это наименование и не будет вести ни на какую страничку. Список не обязательно должен иметь наименование.
<ul>
Меню:
<li>Главная</li>
<li>О нас</li>
<li>Контакты</li>
<li>История</li>
</ul>

Проверив в браузере мы увидели что меню стало списком. По умолчанию списки маркируются, мы это уберем. Сейчас мы расскажем, что все эти слова - это ссылки. Для этого используются тег <a> и </a> в конце. В них мы обернем само название пункта меню. А сама ссылка, которая куда-то должна вести, пишется внутри скобок после «а» и выглядит так href=«». Тут между кавычек указывается сам адрес странички, куда ведет ссылка, но мы пока не будем указывать, потому что браузеру все равно ведет ссылка куда-то или пуста, а унас пока других страничек нет.

<ul>
Меню:
<li><a href="">Главная</a></li>
<li><a href="">О нас</a></li>
<li><a href="">Контакты</a></li>
<li><a href="">История</a></li>
</ul>
Сохраняем и смотрим. Наши пункты меню теперь обрели подчеркивание и стали синими - это опять же оформление ссылок по умолчанию, мы это будем убирать. И на них теперь можно нажать, но опять же они никуда не ведут, ибо мы не давали еще адреса.
Итак, убираем маркеры и подчеркивания.
На маркеры есть list-style-type. Переводится как стиль маркировки списка. Там их на самом деле много, можно добавить маркеры кружочками, квадратиками, римскими цифрами, арабскими….
Тут можно глянуть http://htmlbook.ru/css/list-style-type
Так как мы хотим убрать, то напишем что list-style-type:none в стилях к списку, вот так
<ul style="list-style-type:none»>
Подчеркивания это text-decoration, также может иметь несколько значений, но мы опять напишем ему none.
Подробнее http://htmlbook.ru/css/text-decoration
Текст декорейшн с подчеркиванием по умолчанию это фишка тега <a>, то вписываем его внутрь в стилях.

<ul style="list-style-type:none">
Меню:
<li><a href="" style="text-decoration:none">Главная</a></li>
<li><a href="" style="text-decoration:none">О нас</a></li>
<li><a href="" style="text-decoration:none">Контакты</a></li>
<li><a href="" style="text-decoration:none">История</a></li>
</ul>

Теперь, чтобы нам оформить меню как кнопки, нам надо каждому пункту добавить рамочку и залить цветом. И задать еще высоту и ширину, потому что без указания высоты и ширины блок занимает места столько, сколько занимает текст.
Ширина это width, мы зададим 100 пикселей (px), высота это height, будет 30 пикселей.
Рамочка это border, тоже может оформляться и сплошной линией и пунктиром и точками, подробнее тут http://htmlbook.ru/css/border.
Поскольку рамочке можно разом задать несколько параметров, таких как толщина, стиль (точками, сплошной и тп) и цвет, то они пишутся подряд, разделяясь пробелами, вот так border:solid 1px green. Итак,
<li style="width: 100px; height:30px; border:solid 1px green"><a href="" style="text-decoration:none">Главная</a></li>
Так как стиль нам надо в каждой строчке вписать, то мы уже наглядно видим, что если продолжим в таком духе, то вообще не увидим скоро что там написано, все сплошь стили, стили, стили…….
Начинаем процесс организовывать и перенесем все стили в файл с разрешением css.
Открываем его блокнотом и начинаем. Вот у нас есть тег <li>, который по идее должен иметь один стиль для всех четырех пунктов.
так и записываем
li{ }
И между фигурными скобками через точку с запятой перечисляем стили. Можно в линию, но в столбик удобнее. В конце после последнего стиля элемента перед закрывающей скобкой добавляем точку с запятой, в хтмл это не обязательно, а тут да.
Итак в файле css имеем такую запись:
li{
width: 100px;
height:30px;
border:solid 1px green;
}
А также одинаковые стили для <a> вынесем в css
a{
test-decoration:none;
}
Заодно и с ul перенесем
ul{
list-style-type:none;
}
Записываем их в столбик друг под другом
А из файла с хтмл убираем стиль для li, а, ul и получаем такой опять вполне читаемый вид
<ul>
Меню:
<li><a href="">Главная</a></li>
<li><a href="">О нас</a></li>
<li><a href="">Контакты</a></li>
<li><a href="">История</a></li>
</ul>

css файл

Код: Выделить всё

li{
     width: 100px;
     height:30px; 
     border:solid 1px green;
}
a{
     text-decoration:none;
}
ul{
     list-style-type:none;
}

Все сохраняем и смотрим в браузере результат. Теперь в том же браузере (вот я буду на примере хрома рассказывать, он вроде почти у всех) - итак в хроме на нашей страничке нажимаем посмотреть-разработчикам-инструмент разработчика. Внизу выскочит такое поле
Спойлер
Изображение
Там если приглядется сслева наш файл хтмл, а справа стили. Слева можно поклацать по элементам и справа будут менятся стили в соответствии с элементом.
Более того, если в этом окошке клацнуть слева вверху на окошечко со стрелкой
Спойлер
Изображение
то если водить мышью по страничке - подсвечиваются все блоки. Нажав на какой-то блок внизу сразу подсветится и место блока в хтмл файле и его стили справа. Ну и самое главное, мы можем там записать какой-то стиль в каком-то блоке и посмотреть сразу как оно будет. А потом уже записать в файл со стилями, так он не сохранится и при обновлении страниц пропадет. Такой отладчик есть во всех браузерах.
Теперь прежде чем продолжить придавать меню кнопочный вид наведем еще немного порядка.
У нас вверху два блока div с разными стилями. То есть мы не можем просто в файле со стилями записать div{} и перенести туда оформление, их надо классифицировать дополнительно. Чтобы классифицировать, мы вместо стиля к div впишем класс (class) и назовем его…..да как угодно, лишь бы латиницей. например class=«site_name» и class=«telefon». В файл со стилями название стиля переписывается также и перед ним ставится точка, обозначающая, что это класс а не что-то еще. Так-то мы можем класс и body назвать, и раздавать разные стили самому блоку body и любому блоку со стилем с таким названием. Просто в первом случае пишем без точки а во втором с точкой. Но так легко запутаться =) В стилях перед закрывающей скобкой не забываем ставить точку с запятой, это было не обязательно в хтмл но обязательно тут
В итоге имеем хтмл:

Код: Выделить всё

<body>
           <div class="site_name">  Мой сайт </div>
            <div class="telefon"> телефон 555-55-55 </div>
            <ul>
            Меню:
            <li><a href="">Главная</a></li>
            <li><a href="">О нас</a></li>
            <li><a href="">Контакты</a></li>
            <li><a href="">История</a></li>
            </ul>
</body>

и со стилями

Код: Выделить всё

li{
      width: 100px;
      height:30px;
      border:solid 1px green;
}
a{
      text-decoration:none;
}
ul{
      list-style-type:none;
}
.site_name{
      font-size:20px;
      background:blue;
      color:yellow;
      float:left;
      width:50%;}
.telefon{
      font-size:20px;
      background:yellow;
      color:blue;
      text-align:right;
 }
 

Теперь поговорим о цвете. Тут конечно большинство цветов обозначено словами, но все оттенки не передаст. Зато браузер поймет цвета в цифровом формате, точно так, как они используются в фотошопе и других графических редакторах. Пойдем на сайт адоба, там есть круг с цветовой палитрой https://color.adobe.com/ru/
Выбрав в круге цвет, мы видим внизу его значение в RGB и в HEX.
В RGB описывается так: rgb(255,255,255), или rgba(255,255,255) HEX описывается так #ffffff - в обоих случаях это белый.
Подробнее http://htmlbook.ru/css/value/color
Итак, раз у нас зеленая рамка, то я рылась в зеленых цветах. Нанесем градиент от светло-зеленого до зеленого потемнее. Резкий контраст делать не будем, а такой легкий переход даст визуально объем, хотя вот прям разница в цвете в глаза не бросится.
background: linear-gradient(to bottom, #a9db80 0%,#96c56f 100%);
Что я тут понаписала? Я указала что это линейный градиент и в скобках указала что градиент идет к низу блока(to bottom) и на нулевой позиции имеем первый цвет, а на финише (100%) второй. Промежуточных значений можно много поставить, например, в середину (50 прцентов блока) влепить еще один цвет, да хоть тот же белый и тогда оно будет от светло-зеленому к белому а потом от белого к зеленому_потемнее или опять к светло-зеленому - если в конце поставить номер светло-зеленого. Если вместо bottom подставить top(к верху блока) или left( к левой границе блока) right (к правой) -то нулевой отметкой для градиенту будет соответственно низ или лево-право, а конец на противоположной стороне блока.
Там вообще много можно натворить с тем градиентом
http://htmlbook.ru/css3-na-primerakh/lineinyi-gradient

А сам стиль с бекгроундом добавляем к li
Смотрим что получилось

Теперь добавим внутреннюю тень, на это есть box-shadow. Цвета для тени берем черный и белый, но опишем их в rgbа - в таком формате можно добавить прозрачность.

Код: Выделить всё

box-shadow: 0px 1px 1px rgba(255,255,255,0.8) inset,
             1px 1px 3px rgba(0,0,0,0.2);

Итак, что у нас тут. Тут описаны сразу две тени - белая внутренняя, то есть падает внутрь блока (inset - внутренняя) и внешняя черная(она никак не указывается, по умолчанию тень всегда внешняя). После трех цифр обозначающих цвет идет цифра, обозначающая прозрачность. 0.8 - это 80%, то есть плотный такой туманчик, а 0.2 - 20% чего-то там оттеняет немного. Можно зайти в отладчик и сменить значение на побольше чтобы разглядеть получше =)
Вообще то что мы добавили белую внутреннюю тень-в фотошопе это бы было названно "внутренним свечением", или "внутренней тенью" если использовать темный цвет. Но в общем-то логика там одинаковая- поверх другого объекта накладывается пятно потемнее или посветлее. Внутренняя-на себя же, внешняя-на другие объекты.
Со светлой тенью внутрь мы получаем небольшой блик, дающий еще чуть-чуть выпуклости; если сделать темную внутреннюю тень, то получим эффект, как будто кнопка вдавлена. Можно попробовать и заменить (255,255,255,0.8) на (0,0,0,0.8), только тогда внешнюю надо убрать, так как вдавленные объекты внешней тени в привычном мире не отбрасывают. И это все будет shadow.
Добавляем в стиль к li
Значения в пикселях - это смещение тени вбок и вниз (на то она и тень чтобы куда-то падать) и третье - размер самой тени. Чем больше размер тем более она размыта.
Ну и зададим небольшой радиус на уголках, чтобы были не острыми, а закругленными.
border-radius: 2px;
Также добавляем в стиль к li
Теперь еще сменим цвет рамочки, чтобы сильно не выбивалась на #80ab5d, подставим вместо green
Теперь сделаем чтобы они немного отступали друг от друга, отступы делаются двумя командами margin и padding, в чем там разница расскажу следующий раз, а сейчас просто впишем к li
margin:2px;
Разместим текст по центру командой, которую уже использовали раньше text-align только теперь значение выберем center
Тоже добавим к li
text-align:center;
Увеличим шрифт
font-size:18px;
Теперь поменяем цвет текста в меню и добавим тоже тени. Идем в блок а и даем белый цвет шрифту и зеленоватую тень.
color:white;
text-shadow: 0px -1px 1px #80ab5d;

Почитать про текст-шадоу можно тут http://htmlbook.ru/css/text-shadow
Итак, css у нас сейчас должно быть таким

Код: Выделить всё

li{
      width: 100px;
      height:30px;
      border:solid 1px #80ab5d;
      background: linear-gradient(to bottom, #a9db80 0%,#96c56f 100%);
      box-shadow:
      0px 1px 1px rgba(255,255,255,0.8) inset,
      1px 1px 3px rgba(0,0,0,0.2);
      border-radius: 4px;
      margin:2px;
      text-align:center;
      font-size:18px;
}
a{
      text-decoration:none;
      color:white;
      text-shadow: 0px -1px 1px #80ab5d;
}
ul{
      list-style-type:none;
}
.site_name{
      font-size:20px;
      background:blue;
      color:yellow;
      float:left;
      width:50%;
}
.telefon{
     font-size:20px;
     background:yellow;
     color:blue;
     text-align:right;
 }

Смотрим результат
Спойлер
Изображение
Домашнее задание
Спойлер
cybd писал(а):Простое домашнее задание:

Сделать горизонтальное меню, другими словами, кнопки меню расположить горизонтально.

Дополнительное задание 1:
* Напиши три любых слова: обычным, жирным, наклонным стилем. Используй HTML и CSS.

Дополнительное задание 2:
* Напиши эти слова подчеркнутым и зачеркнутым стилем
Последний раз редактировалось Мышкевич 12.11.2015, 12:56, всего редактировалось 5 раз.
Изображение


olimpiya F
Живу здесь
Живу здесь
Аватара
olimpiya F
Возраст: 44
Репутация: 3295
Сообщения: 15107
Награды: 22
Имя: Светлана

Участник ФМ Добрая фея Проверено реалом
Мороженое Меценат форума

Сообщение #101 olimpiya » 09.11.2015, 21:51

cybd писал(а):
olimpiya писал(а):буду думать
а чо думать, гуглить надо :positive:
Ну я это имела ввиду :D
Sveta

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

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

Сообщение #102 kliviya » 09.11.2015, 22:10

не могу понять, почему нет надписи жирным
http://jsfiddle.net/jpa5x16L/

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

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

Сообщение #103 cybd » 09.11.2015, 22:17

kliviya писал(а):не могу понять, почему нет надписи жирным
http://jsfiddle.net/jpa5x16L/
Потому что font-style: bold не существует
Займайся тим, що подобається.

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

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

Сообщение #104 kliviya » 09.11.2015, 22:28

cybd, спасибо за подсказку)
не совсем еще поняла, что в каких случаях используется (font-style: и font-weight:), но задание выполнила)))
http://jsfiddle.net/jpa5x16L/3/

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

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

Сообщение #105 cybd » 09.11.2015, 23:25

kliviya писал(а):не совсем еще поняла, что в каких случаях используется
font-weight -- определяет "вес" шрифта: худой или полный
font-style -- стиль текста (обычный, наклонный), глянь демо
Займайся тим, що подобається.

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

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

Сообщение #106 kliviya » 10.11.2015, 09:02

cybd, т.е. я писала
font-weight: normal; text-decoration: underline;
font-weight: normal; text-decoration: line-through;

а нужно было
font-style: normal; text-decoration: underline;
font-style: normal; text-decoration: line-through;
????????

хотя в обоих случаях я получаю желаемый результат

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

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

Сообщение #107 Мышкевич » 10.11.2015, 09:11

kliviya, шрифт по умолчанию нормальный. Отдельно указыватся font-style: normal; и font-weight: normal; если ты ранее задавала особые свойства в body например, и они у тебя везде применились, а потом в каком-то блоке решила отменить и вот тогда пишешь им normal для того блока

Добавлено спустя 1 минуту 27 секунд:
Или вот как для ссылок тоже есть стиль по умолчанию подчеркнутый- чтобы убрать если не нужно
Изображение

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

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

Сообщение #108 kliviya » 10.11.2015, 09:14

Мышкевич,
т.е. достаточно было просто написать
text-decoration: underline;
text-decoration: line-through;
???
сейчас попробую)

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

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

Сообщение #109 cybd » 10.11.2015, 09:19

kliviya,
В нашем случае font-weight: normal; и font-style: normal; можно не писать потому, как эти значения уже заданы по-умолчанию.
Займайся тим, що подобається.


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

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

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