Bez použitia kaskádových štýlov sa zobrazia prvky formulára v súlade s použitým prehliadačom a operačný systém Predvolené nastavenia. ale pomocou CSS. Umožňuje vytvárať formuláre zodpovedajúce dizajnu vašej stránky.
Rozhodnutie
Štýl prvku, podobne ako akýkoľvek iný HTML prvok, možno nastaviť pomocou CSS.
Obr. 6.1. Predvolený formulár Zobraziť v prehliadači Firefoxi
Na obrázku obr. 6.1 Formulár je zdobený v súlade s predvolenými nastaveniami, ktoré používa prehliadač Firefoxom v systéme Windows XP. Jeho druh sa zmení pri prezeraní v rôznych prehliadačoch pod rôznymi platformami. Nižšie je typická forma:
"http://www.w3.org/1999/XHTML"lang \u003d "EN-US"\u003e
Vzhľad tohto formulára môže byť zmenený písaním štýlov pre prvky:
formulár (hranice: 1px bodkovaný #AAAAAAAA; PADTING: 0 .5EM;) FORMULÁRNY DIV (ROZHNUTIE DOPLOUTOVÉHO: 1EM; Šírka: 100px; Farba: # 00008b, na pozadí-Farba: # add8e6; Hranica: 1px Pevná # 00008b;) TEXTAWARE (Šírka: 200px; Výška: 40px; Farba: # 00008b; na pozadí - farba: # add8e6; hranice: 1px pevná látka # 00008b;)
Teraz vyzerá forma na obr. 6.2.
Diskusia
Ako ste pravdepodobne uhádli, žiadané štýly pre HTML prvky formulár, vstup, textArea a vyberte Budú sa aplikovať na každú z ich inštancie umiestnenej na stránke, s ktorou je súbor štýl tabuľky spojený. Ak chcete zmeniť formu polí polí, môžeme použiť mnoho rôznych vlastností. Pomocou CSS môžete spravovať takmer všetky aspekty poľa
:
Rada
Formuláre a farbu pozadia. Časť návštevníkov vašich stránok môže rozoznať farby zle a časť môže použiť hlasový prehliadač. Farby by preto nemali nikdy vykonávať dôležité funkcie - napríklad pokyny, ako sú "žlté polia, sú potrebné na vyplnenie" by mali byť v úplnom zákaze.
Podrobnejšie zvážte hodnotu vlastností:
Laboratórne pracovné číslo 4
Kaskádové štýlové tabuľky (CSS)
práce
Spĺňajú koncepciu kaskádových tabuliek Štýly CSS., ako aj získanie praktických zručností ich používania.
Teoretické informácie.
Internet Explorer. ponúka váš štýl, nazývané predvolené. Tento štýl zahŕňa biele čisté pozadie, čierna farba písma, všetky odkazy sú podčiarknuté a modré, atď., Čo ak sa vám to páči? Už viete, ako zmeniť rôzne atribúty. Aj keď sú rovnaké objekty rovnaké, už viete, ako aplikovať triedy. Ale existuje ďalšia možnosť. Ak chcete zadať celý štýl dokumentu, používajú sa takzvané hierarchické štýlové tabuľky (Cascade štýlové listy - CSS), ktoré sú súborom vlastností rôznych objektov. Niečo, čo sa podobajú triedam, ale ak je trieda vytvorená vo vnútri dokumentu a môže byť aplikovaná, a možno nie, potom CSS, ak je pripojené, inštalácie v ňom ovplyvňujú všetky objekty v dokumente.
Úvod do CSS.
CSS je veľmi podobné triedam, len s rozdielom, že štýl je opísaný v nich pre už známy objekt. Pre vizuálny príklad skontrolujte svoju izbu (kancelária, haly ...), v ktorej ste. Určite uvidíte mnoho rôznych položiek (tabuľka, stolička, okno, počítač). Každý z týchto objektov má vlastnosti, a musíte urobiť zoznam týchto položiek a ich vlastnosti. Možno budete mať niečo nasledovné:
tabuľka:
Hnedá farba
Materiál - drevený
počítač:
biela farba
Materiál - plasty
Účel - pre prácu
Samozrejme, môžete ísť na iný spôsob, ale len CSS je zostavený presne tam, kde namiesto objektov, predmety vyčnievajú a ich vlastnosti sú trochu iné. Napríklad tu je výňatok takéhoto dokumentu:
telo.
{
pozadia-farba: RGB (255,255,153);
Farba: RGB (51,51,153);
}
H3.
{
Farba: RGB (255,0,0);
FONT-RODINA: ARIAL, HELVETICA;
}
Tu sa spýta, aký štýl tela a prvku H3 bude. Tieto možnosti, ktoré nie sú štandardne uvedené.
Vytvorenie CSS nevyžaduje špeciálne úsilie a môže sa vykonávať v jednoduchom notebooku, hoci na tieto účely a existuje Špeciálne programyUľahčenie práce a jasne ukazuje, ako budúci dokument bude vyzerať ako použitie tohto štýlu. Pozrite sa na takéto programy na disku alebo z známych.
2.2.Vytvorenie tabuľky štýlu v dokumente
Existujú dva spôsoby pripojenia CSS. Prvým je nastaviť ho do prvku štýlu na začiatku dokumentu, ako trieda. Toto sa robí takto (príklad 1):
Tento dokument
používa tabuľky štýlov
V tomto príklade na obrazovke uvidíte dva riadky pozostávajúce z dvoch objektov: H3 a H3. Pozrite sa, v ktorom sa zmenil predvolený štýl programu Internet Explorer. Ale nerobili sme žiadne pokyny v samotnom objekte o jeho štýle. Takže bez ohľadu na to, koľko máte obdĺžnikové objekty H3 a H3, ich štýl bude vždy špecifikovaný v stylistickom stole.
2. 3. Tabuľka štýlu v samostatný súbor
Ak sa vám páči štýl, ktorý ste vytvorili, a chcete ho použiť vo všetkých dokumentoch. Alebo váš dokument pozostáva zo súboru HTML Stránky A všetky z nich musia mať rovnaký štýl, nemusíte zadať struny štýl tabuľky zakaždým na začiatku dokumentu.
Druhý spôsob, ako pripojiť CSS na webovú stránku vytvorenie CSS. V samostatnom súbore a stránka sám odkazuje na tento súbor. Potom môžete písať na stránke len jeden riadok a stále štýl, ktorý bude definovaný v stylistore v tabuľke externý súbor. Myslím, že nie je potrebné hovoriť o výhodách takéhoto spôsobu.
Najprv vytvoríte tabuľku podľa vyššie uvedených pravidiel. Potom pridáte prvok
Ak chcete povoliť reťazec štýlový list podobný nasledujúcim:Odkaz znamená, že aktuálna stránka Prvok, rel a typ sú pripojené k opisu prvku ako štylizované tabuľky, ale HREF obsahuje adresu, na ktorú je súbor s vaším CSS.
Dynamická zmena CSS.
Môžete tedamicky zmeniť názov plug-in so stylistom, podľa toho zmeniť štýl sám. Tu je funkcia, v jazyku JScript, ktorý pri volaní, ak je akýkoľvek štýl už aplikovaný, odstraňuje ho a pripojí nový.
funkcia Zmeniť_style ()
(ak (dokument.styleshesseets.href! \u003d null)
dokument.styleshesheets.href \u003d "newstyle.css";
}
Ak je tabuľka štýlu definovaná vo vnútri stránky HTML, môžete pridať nové definície pomocou funkcie addrule (objekt, štýl). Tam, kde je objekt objekt a štýl, štýlové inštalácie. Tu je príklad, v ktorom po kliknutí na tlačidlo sa zmení štylizovaný stôl (príklad 2):
Tento dokument používa štýlové listy
Toto je odsek. Kliknutím na tlačidlo zmeníte svoj štýl
Po skontrolovaní stránky s takýmto kódom sa uvidíte, ako sa zmení štýl pridaním inštalácie do štýlu.
Triedy
Trieda je iný spôsob, ako inštalovať, ako sa má text pozrieť na stránku. V podstate definujete súbor štýlov, ako je farba, hrúbka písma, jeho veľkosť, a tak ďalej, ale nepridelite ju špecifickú značku. Trieda vyzerá takto:
Tento príklad vytvára tri triedy: pravidelné, superbig, autorské práva. Nižšie je uvedené, ako tieto triedy aplikovať v textovom navigačnej vrstve.
Trieda SuperBig
Pravidelný
Trieda Copyright
Môžete tiež špecificky viazať značku triedy. Napríklad:
P. \\ t
{
Veľkosť písma: 16PT;
FONT-HMOTNOSŤ: tučné;
}
P.small
(Veľkosť písma: 9PT;
LESTOVANÉ NÁKLADY: 5EM;
RIGHT-RIGHT: 5EM;
}
Nižšie je uvedené, ako aplikovať triedu
{ 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"});) на нужный идентификатор или класс.