Basamaklı stil sayfalarını uygulanmadan, form elemanları kullanılan tarayıcıya uygun olarak gösterilecektir. işletim sistemi Varsayılan ayarları. fakat cSS'yi kullanma. Sitenizin tasarımına karşılık gelen formlar oluşturmanıza olanak sağlar.
Karar
Form elemanı stili, diğer HTML öğesi gibi, CSS kullanılarak ayarlanabilir.
İncir. 6.1. Firefoxi Tarayıcısında Varsayılan Form Görünümü
Tarafından resimde İncir. 6.1 Form, Firefox tarayıcısı tarafından Windows XP altında kullanılan varsayılan ayarlara uygun olarak dekore edilmiştir. Türleri, farklı tarayıcılarda farklı platformlar altında görüntülenirken değişecektir. Aşağıda tipik bir formdur:
"http://www.w3.org/1999/xhtml"lang \u003d "en-bize"\u003e
Bu formun görünümü, öğeler için stilleri yazarak değiştirilebilir:
form (sınır: 1px noktalı #aaaaaa; dolgu: 0 .5em;) Form DIV (kenar boşluğu: 1EM;) Giriş (Renk: # 00008B; arka plan rengi: # add8E6; sınır: 1px katı # 00008b;) Seç Genişlik: 100px; Renk: # 00008B; Arka Plan-Renk: # ADD8E6; Sınır: 1px Katı # 00008B;) Textarea (Genişlik: 200px; Yükseklik: 40px; Renk: # 00008B; Arka Plan-Renk: # ADD8E6; Sınır: 1px # 00008b;)
Şimdi form Şekil 2'de gibi görünüyor. 6.2.
Tartışma
Muhtemelen tahmin ederken, HTML öğeleri için stillerin ayar noktası form, Giriş, Textarea ve Select Stil masa dosyasının ilişkili olduğu sayfada bulunan her birinin her birine uygulanacaktır. Alan alanlarının şeklini değiştirmek için, birçok farklı özelliği kullanabiliriz. CSS'yi kullanma Alanın hemen hemen tüm yönlerini yönetebilirsiniz.
:
Konsey
Formlar ve arka plan rengi. Sitenizin ziyaretçilerinin bir kısmı renkleri kötü bir şekilde ayırt edebilir ve bir parça bir ses tarayıcısı kullanabilir. Bu nedenle, renkler asla önemli işlevler gerçekleştirmemelidir - örneğin, "sarı alanların doldurulması gerekmektedir" talimatları tamamlanmalıdır.
Özellik değerini daha ayrıntılı olarak düşünün:
Laboratuvar İşi Numarası 4
Basamaklı stil tabloları (CSS)
işin amacı
Basamaklı tablolar kavramını karşılar stilleri CSS., ayrıca kullanımlarının pratik becerilerini edinmenin yanı sıra.
Teorik bilgi.
Internet Explorer. Size stilinizi sunar, varsayılan olarak adlandırılır. Bu stil beyaz saf bir arka plan, siyah yazı tipi rengi içerir, tüm referansların altı çizili ve mavi, vb. Bütün bunları sevmezseniz? Zaten çeşitli nitelikleri doğrudan nasıl değiştireceğinizi biliyorsunuz. Aynı nesneler aynı olsa bile, sınıfları nasıl uygulanacağını zaten biliyorsunuzdur. Ancak başka bir olasılık var. Belgenin tüm stilini belirtmek için, sözde hiyerarşik stil tabloları, farklı nesnelerin bir dizi özellik olan (Cascade Stil Tabakaları - CSS) kullanılır. Sınıflara benzedikleri bir şey, ancak sınıfın belgenin içinde yaratılması ve uygulanabileceği ve belki de değilse, daha sonra CSS, eğer bağlanırsa, kurulumlar belgedeki tüm nesneleri etkiler.
CSS'ye giriş.
CSS, sınıflara çok benzer, sadece zaten bilinen nesne için stilin içinde tarif edildiği farkla. Görsel bir örnek için, bulunduğunuz odayı şimdi (ofis, salon ...) inceleyin. Elbette, birçok farklı öğeyi göreceksiniz (masa, sandalye, pencere, bilgisayar). Bu nesne nesnelerinin her biri özellikleri vardır ve bu eşyaların bir listesini ve özelliklerini yapmanız gerekir. Belki aşağıdaki gibi bir şey olacaktır:
tablo:
kahverengi renk
Malzeme - Ahşap
bir bilgisayar:
Beyaz renk
Malzeme - Plastik
Amaç - iş için
Tabii ki, başka bir yoldan gidebilirsiniz, ancak yalnızca CSS, nesneler, nesnelerin çıkıntısı yerine ve özellikleri biraz farklı olduğunda tam olarak derleniyor. Örneğin, burada böyle bir belgenin alındığı:
vücut.
{
Arka plan rengi: RGB (255,255,153);
Renk: RGB (51,51,153);
}
H3.
{
Renk: RGB (255,0,0);
Yazı Tipi-Ailesi: Arial, Helvetica;
}
Burada, vücut ve H3 öğesinin tarzının ne olacağını sorulur. Varsayılan olarak belirtilmemiş olan seçenekler.
CSS oluşturmak, özel bir çaba gerektirmez ve bu amaçlar için ve mevcut olmasına rağmen basit bir dizüstü bilgisayarda gerçekleştirilebilir. Özel Programlarİşi kolaylaştırmak ve açıkça gelecekteki belgenin bu stili kullanmanın nasıl görüneceğini açıkça göstermektedir. Diskinizde veya tanıdıklardaki bu tür programları arayın.
2.2.Belgede stil tablosu oluşturma
CSS'yi bağlamanın iki yolu vardır. Birincisi, bir sınıf olarak belgenin başında stil elemanına ayarlamaktır. Bu böyle yapılır (Örnek 1):
Bu belge
stil tablolarını kullanır
Bu örnekte, ekranda iki nesneden oluşan iki satır göreceksiniz: H3 ve H3. Görünüm, Internet Explorer'ın varsayılan tarzının döndüğü. Ancak, nesnede tarzıyla ilgili herhangi bir talimat yapmadık. Dolayısıyla, H3 ve H3 nesnelerinin ne kadar bağdaştırdığınız önemli değil, stilleri her zaman stilist tablosunda belirttiğiniz gibi olacaktır.
2. 3. tarzı masa ayrı dosya
Oluşturduğunuz stilden hoşlanıyorsanız ve tüm belgelerinizde kullanmak istiyorsanız. Veya belgeniz bir setten oluşur Html sayfaları Ve hepsi aynı stile sahip olmalı, belgenin başlangıcında her seferinde stil tablosunun dizelerini girmeniz gerekmez.
CSS'yi web sayfasına bağlamanın ikinci yolu cSS oluşturma. Ayrı bir dosyada ve sayfanın kendisi bu dosyayı ifade eder. Ardından, sayfada yalnızca bir satır ve hala stil olarak yazabilirsiniz. harici dosya. Böyle bir şekilde yararları hakkında konuşmak gerekli olmadığını düşünüyorum.
Öyleyse, ilk önce yukarıdaki kuralların ardından bir tablo oluşturursunuz. Sonra öğeye eklersiniz
Dize stili sayfasını aşağıdakine benzer şekilde etkinleştirmek için:Bağlantı demek ki geçerli sayfa Eleman, REL ve tipi, elemanı stilize bir tablo olarak tanımlamak için bağlanır, ancak HREF dosyanın CSS'nizde olduğu adresi içerir.
Dinamik değişiklik CSS.
Eklentinin adını stilist bir tabloyla, stilin kendisini değiştirerek dinamik olarak değiştirebilirsiniz. İşte bir fonksiyon, bu, arama yaparken, herhangi bir stil zaten uygulanırsa, kaldırır ve yenisini birbirine bağlar.
fonksiyon değişimi_style ()
(eğer (belgesel.stylesheets.href! \u003d null)
document.stylesheets.href \u003d "newstyle.css";
}
Stil tablosu HTML sayfasının içinde tanımlanmışsa, AddRule işlevini (nesne, stil) kullanarak yeni tanımlar ekleyebilirsiniz. Nesnenin bir nesne olduğu yer ve sırasıyla, stilistik kurulumlar. İşte düğmeye tıkladıktan sonra stilize bir tablo değiştirildikten sonra (Örnek 2):
Bu belge stil sayfalarını kullanır
Bu paragraftır. Tarzını değiştirmek için düğmeye tıklayın
Sayfayı böyle bir kodla inceledikten sonra, kurulumun tarz sayfasına ekleyerek stil değişikliklerinin nasıl gerçekleştiğini göreceksiniz.
Sınıflar
Sınıf, metnin sayfada nasıl görünmesi gerektiğini yüklemenin başka bir yoludur. Temel olarak, renk, yazı tipi kalınlığı, boyutu vb. Gibi bir dizi stil tanımlarsınız, ancak belirli bir etiket atamayın. Sınıf böyle görünüyor:
Bu örnek üç sınıf oluşturur: düzenli, süperbu, telif hakkı. Aşağıda, bu sınıfların metin gezinme katmanında nasıl uygulanacağı gösterilmiştir.
Superbig sınıfı
Sınıf Düzenli
Sınıf telif hakkı
Ayrıca sınıf etiketini özel olarak bağlayabilirsiniz. Örneğin:
P.
{
Yazı tipi boyutu: 16pt;
Yazı Tipi Ağırlığı: Kalın;
}
P.Small
(Yazı tipi boyutu: 9pt;
Marj-sol: 5EM;
Marj-sağ: 5EM;
}
Aşağıda sınıfın nasıl uygulanacağı gösterilmiştir
{ 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"});) на нужный идентификатор или класс.