Neizmantojot cascading stila lapas, veidlapas elementi tiks parādīti saskaņā ar izmantoto pārlūkprogrammu un operētājsistēma Noklusētie iestatījumi. bet izmantojot CSS. Ļauj izveidot veidlapas, kas atbilst jūsu vietnes dizainam.
Lēmums
Veidlapas elementa stils, tāpat kā jebkurš cits HTML elements, var iestatīt, izmantojot CSS.
Fig. 6.1. Noklusējuma veidlapa Firefoxi pārlūkprogrammā
Attēlots fig. 6.1 Veidlapa ir dekorēta saskaņā ar noklusējuma iestatījumiem, ko izmanto Firefox pārlūkprogrammā Windows XP. Tās sugas mainīsies, skatoties dažādās pārlūkprogrammās dažādās platformās. Zemāk ir tipiska forma:
"http://www.w3.org/1999/xhtml"lANG \u003d "EN-US"\u003e
Šīs veidlapas izskatu var mainīt, rakstot stilus elementiem:
veidlapa (robeža: 1px Dotted #aaaaa; polsterējums: 0 Platums: 100px; Krāsa: # 00008b; fona krāsa: # add8e6; robeža: 1px cietā # 00008b;) Textarea (platums: 200px; Augstums: 40px; Krāsa: # 00008b; Balsta krāsa: # add8e6; robeža: 1px ciets # 00008b;)
Tagad veidlapa izskatās attēlā. 6.2.
Diskusija
Kā jūs, iespējams, uzminējāt, sadaļas stilu HTML elementiem forma, ievade, textarea un izvēlieties Tie tiks piemēroti katrai no savām instancēm, kas atrodas lapā, ar kuru ir saistīta ar stila tabulas failu. Lai mainītu lauka lauka formu, mēs varam izmantot daudzas dažādas īpašības. CSS izmantošana Jūs varat pārvaldīt gandrīz visus lauka aspektus
:
Padome
Veidlapas un fona krāsa. Daļa no jūsu vietnes apmeklētāju var saskatīt krāsas slikti, un daļa var izmantot balss pārlūkprogrammu. Tādēļ krāsas nekad nevajadzētu veikt svarīgas funkcijas - piemēram, norādījumi, piemēram, "dzeltenās lauki, ir jāaizpilda" ir jābūt ar pilnu aizliegumu.
Apsveriet īpašības vērtību sīkāk:
Laboratorijas darba numurs 4
Cascading stila galdi (CSS)
Darba mērķis
Atbilst Cascading tabulu koncepcijai stili CSS., kā arī to izmantošanas praktisko iemaņu iegūšana.
Teorētiskā informācija.
Internet Explorer. piedāvā jūsu stilu, ko sauc par noklusējumu. Šis stils ietver baltu tīru fonu, melnu fontu krāsu, visas atsauces ir pasvītrotas un zilas, utt, ko darīt, ja jums tas nepatīk? Jūs jau zināt, kā tieši mainīt dažādus atribūtus. Pat tad, ja tie paši objekti ir vienādi, jūs jau zināt, kā lietot klases. Bet ir vēl viena iespēja. Lai norādītu visu dokumenta stilu, tiek izmantotas tā sauktās hierarhiskās stila tabulas (Cascade stila lapas - CSS), kas ir dažādu objektu īpašību kopums. Kaut kas viņi atgādina klases, bet, ja klase ir izveidota iekšpusē dokumentā, un to var izmantot, un varbūt ne, tad CSS, ja tas ir savienots, instalācijas tajā ietekmē visus objektus dokumentā.
Ievads CSS.
CSS ir ļoti līdzīgs klasēm, tikai ar atšķirību, ka stils ir aprakstīts tajos jau zināmo objektu. Lai iegūtu vizuālu piemēru, pārbaudiet savu istabu tagad (birojs, zāle ...), kurā jūs esat. Protams, jūs redzēsiet daudz dažādu priekšmetu (galds, krēsls, logs, dators). Katram no šiem objektiem ir raksturīgas īpašības, un jums ir nepieciešams veikt sarakstu ar šiem posteņiem un to īpašībām. Varbūt jums būs kaut kas šāds:
tabula:
Brūna krāsa
Materiāls - koka
dators:
balta krāsa
Materiāls - Plastmasas
Mērķis - darbam
Protams, jūs varat doties uz citu veidu, bet tikai CSS tiek apkopoti tieši tur, kur objekti, objekti izvirzās, un to īpašības ir nedaudz atšķirīgas. Piemēram, šeit ir šāda dokumenta izvilkums:
Ķermenis.
{
Fona krāsa: RGB (255,255,153);
Krāsa: RGB (51,51,153);
}
H3.
{
Krāsa: RGB (255,0,0);
Fonta ģimene: Arial, Helvetica;
}
Šeit ir jautāts, kāda būs ķermeņa un H3 elementa stils. Šīs iespējas, kas nav norādītas pēc noklusējuma.
CSS izveide neprasa īpašas pūles, un to var veikt vienkāršā piezīmjdatorā, lai gan šiem mērķiem un pastāv Īpašas programmasVeicināt darbu un skaidri parādot, kā nākotnes dokuments izskatīsies, izmantojot šo stilu. Meklējiet šādus programmas uz jūsu diska vai no paziņas.
2.2.Izveidot stila tabulu dokumentā
Ir divi veidi, kā savienot CSS. Pirmais ir to iestatīt stila elementā dokumenta sākumā kā klase. Tas tiek darīts kā šis (1. piemērs):
Šis dokuments
izmanto stila tabulas
Šajā piemērā ekrānā redzēsiet divas līnijas, kas sastāv no diviem objektiem: H3 un H3. Paskatieties, kurā ir kļuvis par noklusējuma stilu Internet Explorer. Bet mēs neesam snieguši norādījumus objektā pati par savu stilu. Tādējādi, neatkarīgi no tā, cik daudz jums ir apveltīti objekti H3 un H3, viņu stils vienmēr būs, kā jūs norādījāt stilistu galda.
2. 3. Stila tabula atsevišķs fails
Ja jums patīk izveidotais stils, un jūs vēlaties to izmantot visos dokumentos. Vai jūsu dokuments sastāv no komplekta HTML lapas Un visiem tiem ir jābūt tādam pašam stilam, jums nav nepieciešams ievadīt stila tabulas virknes katru reizi dokumenta sākumā.
Otrs veids, kā savienot CSS uz tīmekļa lapu, ir cSS izveide. Atsevišķā failā un pati lapa attiecas uz šo failu. Tad jūs varat rakstīt lapā tikai viena līnija un vēl stils tas būs, kā noteikts stilistā tabulā ārējais fails. Es domāju, ka nav nepieciešams runāt par šāda veida priekšrocībām.
Tātad, sākumā izveidojat tabulu pēc iepriekš minētajiem noteikumiem. Tad jūs pievienojat elementu
Lai string stila lapa būtu līdzīga šādai:Saite nozīmē, ka pašreizējā lapa Elements, rel un tips ir savienots, lai aprakstītu elementu kā stilizētu tabulu, bet Href satur adresi, uz kuru fails ir ar jūsu CSS.
Dinamiskas pārmaiņas CSS.
Jūs varat dinamiski mainīt nosaukumu plug-in ar stilistu galda, attiecīgi mainot stilu. Šeit ir funkcija, JScript valodā, kas, zvanot uz to, ja kāds stils jau ir piemērots, noņem to un savieno jaunu.
funkcija maiņa_style ()
(ja (docum.stylesheets.href! \u003d null)
document.stylesheets.href \u003d "Newstyle.css";
}
Ja stila tabula ir definēta HTML lapas iekšpusē, varat pievienot jaunas definīcijas, izmantojot Add Rule funkciju (objektu, stilu). Ja objekts ir objekts, un stils, stilistiskās iekārtas. Šeit ir piemērs, kurā pēc noklikšķināšanas uz pogas ir mainīta stilizēta tabula (2. piemērs):
Šis dokuments izmanto stila lapas
Tas ir punkts. Noklikšķiniet uz pogas, lai mainītu tās stilu
Pēc lapas pārskatīšanas ar šādu kodu jūs redzēsiet, kā notiek stila izmaiņas, pievienojot instalāciju stila lapai.
Klases
Klase ir vēl viens veids, kā instalēt, kā tekstam vajadzētu skatīties lapā. Būtībā jūs definējat stilu kopumu, piemēram, krāsu, fonta biezumu, tā lielumu un tā tālāk, bet nepiešķiriet to konkrētu tagu. Klase izskatās šādi:
Šis piemērs rada trīs klases: regulāru, superbig, autortiesības. Tālāk redzams, kā piemērot šīs klases teksta navigācijas slānī.
Superbig klase
Klase
Klases autortiesības
Varat arī piesaistīt klases tagu. Piemēram:
P.
{
Fonta lielums: 16PT;
Fonta svars: treknrakstā;
}
P.small
(Fonta lielums: 9pt;
Margin-Left: 5em;
Margin-Right: 5em;
}
Zemāk ir parādīts, kā piemērot klasi
{ font-size:16pt;
font-weight:bold;
font-family:verdana, sans-serif;
{ font-size:9pt;
margin-left:5em;
margin-right:5em;
cool{ color: blue; font-style; italic;}
Этот документ использует стилевые таблицы
Жесткий контроль с помощью тега
Тег - это удобный универсальный инструмент для применения стиля в любом месте, где он необходим.
Этот документ использует стилевые таблицы
Этот документ
использует стилевые таблицы
Тег SPAN применяет класс coll к фразе " использует стилевые таблицы ".
Селекторы ID
Селекторы ID (сокращение от "identifier" - идентификатор) аналогичен классу, но гораздо более ограничен по своим возможностям. Каждый селектор ID может применятся в документе только один раз.
#specialOffer {font-family:gadget,
serif; font-size:40;}
селектор ID можно вызвать следующим образом:
Задание на работу
Ввести в разрабатываемый документ таблицы стилей. Изменить содержание статического HTML-документа с помощью свойств, событий и методов объектов window, событий пользовательского интерфейса, мыши, клавиатуры и т.д.
4. Контрольные вопросы
1. Что такое CSS?
2. Какие способы подключения CSS Вы знаете?
3. Каким образом происходит подключение таблицы стилей внутри документа?
4. Каким образом происходит подключение таблицы стилей из отдельного файла?
5. Как можно изменять стилевые установки, когда CSS находится внутри html - документа?
6. Для чего используются классы в CSS?
7. Преимущества использования классов?
8. Механизм действия тега .
Верстая очередной проект (или ещё только проектируя макетную сетку) многие сталкивались с дилеммой - использовать фиксированную ширину макета или «резиновую» сетку, адаптируемую под размер окна браузера.
У каждого из этих решений есть свои плюсы и минусы, хочу заострить внимание на минусах, так как обычно именно между двух зол именно в отражении минусов этих решений приходится выбирать.
Фиксированная ширина макетной сетки
Вёрстку загоняют в горизонтальный габарит 960-980 пикселей (чтобы на большинстве устройств в большинстве разрешений всё входило), что при больших горизонтальных размерах окна выглядит как-то зябко - тонкая вертикальная полоса полезного содержимого страницы и огромные бесполезные поля неиспользуемого пространства по бокам.«Резиновая» макетная сетка по ширине окна
Опять же при больших горизонтальных размерах окна есть другая проблема: строки текста становятся очень длинными, и читать их становится совсем не так комфортно, как хотелось бы.Ещё одна распространённая проблема этого решения - боковые отступы при больших горизонтальных размерах окна уже не так удачно визуально согласуются с горизонтальными размерами элементов, что также не добавляет комфорта при взгляде на свёрстанный макет.
Хочу предложить нехитрый вариант решения - ограничить минимальный горизонтальный размер фиксированным значением в пикселях, а максимальный сделать относительным в процентном соотношении к ширине окна. Это очень банально решается простыми средствами ещё 2 версии спецификации CSS.
Update: Хочу оговориться, что речь не идёт о классическом эффекте резины и об адаптации под абсолютно все разрешения, скорее лишь про некий разумный диапазон разрешений, под который проектируется макет. В примерах ниже - это классический десктопный диапазон разрешений с горизонтальным габаритом разрешения от 1024 пикселей.Ещё раз акцентирую внимание: в посте не идёт речь про решение для всех видов устройств и все диапазоны разрешений. В рамках одного макета эта задача не решаема в принципе , для её решения так или иначе потребуется несколько макетов. Мухи отдельно, котлеты отдельно.
Создаём контейнер макета:
...
Оформляем его незатейливым кодом стиля:
div.page-container { min-width: 960px; max-width: 75%; margin: 0 auto; padding: 0; }
Однако этого решения кому-то может показаться мало в силу того что при очень больших горизонтальных размерах окна опять проявляются проблемы с длиной строк. Это решается настолько же простым дополнительным приёмом: создание дополнительного внешнего контейнера внутри уже описанного и ограничение его максимальной ширины фиксированным значением (мне субъективно кажется, что лучше всего подходят значния в диапазоне 1400-1600 пикселей). Опять же используем лишь средства CSS 2.0. Такое решение вместо предложенного в первом комментарии простого добавления ширины в процентах для исходного контейнера будет работать ещё и в IE, который вплоть до 9 версии не понимает одновременного указания значений.
Дополняем HTML:
И немного меняем CSS:
div.page-container { max-width: 75%; min-width: 960px; margin: 0 auto; padding: 0; } div.page-container-inner { min-width: 960px; max-width: 1600px; margin: 0 auto; padding: 0; }
Как видите - решение предельно просто и достаточно универсально, может применяться для любых блочных элементов.
Перевод: Влад Мержевич
В CSS 2.1 фоновая картинка, применяемая к контейнеру, сохраняет свои фиксированные размеры. К счастью, в CSS3 введено свойство background-size , с помощью которого фон может быть растянут или сжат. Оно идеально подходит, если вы создаёте шаблон для адаптивного веб-дизайна.
Есть несколько способов определения размеров - взгляните на демонстрационную страницу background-size .
Абсолютное изменение размера
Могут применяться единицы измерения.
Background-size: ширина высота;
По умолчанию ширина и высота установлена как auto , что оставляет исходные размеры изображения.
Вы можете задать новый размер изображения с помощью абсолютных единиц измерения, таких как px, em, cm и др. Пропорции изменятся, если это необходимо. Например, если наша фоновая картинка имеет размеры 200×200 пикселов, то следующий код оставит эту высоту, но сделает ширину в два раза меньше:
Background-size: 100px 200px;
Если указано только одно значение, оно считается шириной. Высота устанавливается как auto и сохраняются пропорции:
Background-size: 100px; /* аналогично */ background-size: 100px auto;
Данный код масштабирует изображение с 200×200 до 100×100 пикселов.
Относительное изменение размера через проценты
Если применяются проценты, размеры основываются на элементе, а НЕ изображении:
Background-size: 50% auto;
Ширина фонового изображения, таким образом, зависит от размеров контейнера. Если у контейнера ширина 500px, то размер нашего изображения уменьшится до 250×250.
Использование процентов может быть полезно для адаптивного дизайна. Поменяйте ширину демонстрационной страницы чтобы понять, как изменяются размеры.
Масштабирование до максимального размера
Свойство background-size также понимает ключевое слово contain . Оно масштабирует изображение таким образом, чтобы оно заполняло контейнер. Другими словами, изображение будет увеличиваться или уменьшаться пропорционально, но ширина и высота не будут превышать размеры контейнера:
Background-size: contain;
Заполнение фоном
Свойство background-size также понимает ключевое слово cover . Изображение будет масштабироваться так, чтобы заполнить весь контейнер, но если различаются соотношения сторон, то картинка будет обрезана.
Background-size: cover;
Масштабирование нескольких фонов
Несколько фонов могут быть масштабированы с помощью списка значений, разделенных запятыми, идущих в том же порядке.
Background: url("sheep.png") 60% 90% no-repeat, url("sheep.png") 40% 50% no-repeat, url("sheep.png") 10% 20% no-repeat #393; background-size: 240px 210px, auto, 150px;
Работа в браузерах
Последние версии всех браузеров поддерживают background-size без префиксов.
IE8 и ниже не поддерживают это свойство. Вы можете использовать фильтр IE для эмуляции значений content и cover , но невозможно изменить размер фоновой картинки без помощи уловок, вроде добавления настоящей картинки позади других элементов. Это грязно, так что я рекомендую изящную деградацию.
» стала поводом для написания сегодняшнего поста. Суть очень схожа и речь здесь пойдет про размер шрифта.
Задача — реализовать динамическое изменение размера шрифта сайта в зависимости от разрешения экрана, т.е. размера окна браузера.
Прежде чем приступить к описанию решения, хочу обозначить два момента :
- Лично для меня полезность данной штуки весьма сомнительна , и я скорее бы рассматривал такую возможность просто в качестве ознакомления. А вот Сергей, например, эту технику давно хотел применить на практике и видит в ней смысл. Поэтому, возможно, кому-нибудь еще эта информация также пригодится.
- Решение довольно простое, работает на моем любимом jQuery, но использование этого фреймворка только ради осуществления данной задачи — не очень разумно , поскольку один лишь фреймворк «весит» под 60 Кб, а сам скрипт при этом состоит из всего лишь 10 строк. Я полагаю, что на нативном JavaScript скрипт, реализующий то же самое, будет значительно меньшего размера.
Итак, приступим.
Сначала я подробно опишу работу jQuery-скрипта, а затем объясню, как его применить к той или иной части веб-сайта.
jQuery
За точку отсчета я взял ширину в 1000 пикселей. Как правило, это минимальная ширина, под которую верстаются сайты. Заносим этот показатель в переменную:
Var width = 1000;
Теперь устанавливаем минимальный размер шрифта в пикселях, ниже которого он не будет уменьшаться:
Var bodyWidth = $("html").width();
Определяем коэффициент, на который будет умножаться базовый (минимальный) размер шрифта в зависимости от размера окна браузера. Цифру получаем путем деления ширины хтмл-документа на базовую (минимальную) ширину. Т.е., к примеру, если ширина окна браузера составляет 1600 пикселей, то получим коэффициент 1,6.
Var multiplier = bodyWidth / width;
Выполняем условие: если ширина хтмл-документа больше базовой ширины, тогда размер шрифта умножаем на коэффициент, округляя полученный результат до целого числа:
If ($("html").width() >= width) fontSize = Math.floor(fontSize * multiplier);
Теперь полученный скорректированный размер шрифта применяем к тегу
:$("body").css({fontSize: fontSize+"px"});
Все вышеописанные строки помещаем в функцию function fontSize() {} , затем запускаем эту функцию после загрузки хтмл-документа, а также после изменения размера окна браузера:
$(function() { fontSize(); }); $(window).resize(function() { fontSize(); });
Вот целиком код jQuery-скрипта, который получился у нас в итоге:
Function fontSize() { var width = 1000; // ширина, от которой идет отсчет var fontSize = 12; // минимальный размер шрифта var bodyWidth = $("html").width(); var multiplier = bodyWidth / width; if ($("html").width() >= width) fontSize = Math.floor(fontSize * multiplier); $("body").css({fontSize: fontSize+"px"}); } $(function() { fontSize(); }); $(window).resize(function() { fontSize(); });
HTML
Рассмотрим применение вышеуказанного скрипта на примере 3-колоночного макета страницы, имеющего следующую структуру HTML-кода:
CSS
Теперь осталось только использовать динамический размер шрифта для тех блоков, к которым мы хотим его применить. Давайте, для примера, сделаем так, чтобы он менялся у всей страницы, за исключение правой колонки, а у левой колонки сделаем его чуть меньше основного.
Все очень просто.
Во-первых , правой колонке мы просто-напросто устанавливаем свой фиксированный размер шрифта и высоту строки, и скрипт его не затронет:
#right { font-size: 12px; line-height: 18px; }
Во-вторых , левой колонке ставим чуть меньший размер шрифта:
#left { font-size: 0.9em; }
В-третьих , нужно либо у тега
, либо у соответствующего блока указать высоту строки в em, чтобы она тоже изменялась динамически.Если вы хотите менять размер шрифта только у конкретного блока, допустим, у #content , тогда будет логичнее в скрипте поменять body (в строке $("body").css({fontSize: fontSize+"px"});) на нужный идентификатор или класс.