В функции printf()существует возможность задания вывода
переменных определенного формата, а
именно, можно задавать ширину поля
переменных, определять точность вывода
вещественных переменных, определять
тип выравнивания данных и т.д. В этом
случае спецификации формата записывается
в такой форме:
%[флаг][ширина].[точность]спецификация
где флаг – тип выравнивания (пусто –
выравнивания по правому краю, `–` –
выравнивания по левому краю, `+` – всегда
печатать знак числа);
ширина – общая длина поля вывода, т.е.
общее количество символов при выводе,
включая знак и десятичную точку;
точность – количество цифр числа после
запятой.
Примеры спецификаций формата:
%12.4f
– вывод вещественной переменной с
выравниванием по правому краю, общее
количество символов при выводе –12
позиций, количество знаков после
десятичной точки – 4;
%-+10.0f
– вывод вещественной переменной с
выравниванием по левому краю и обязательным
выводом знака числа, общая длина поля
вывода – 10 позиций, знаки после десятичной
точки не выводятся;
%08d
– вывод целой переменной с
выравниванием по правому краю, ширина
поля – 8 позиций, слева число дополняется
нулями;
%16s
– вывод строки, ширина поля вывода
– 16 позиций.
3.3. Функция форматированного ввода scanf()
3.3.1. Назначение и описание функции
Функция позволяет ввести информация с
клавиатуры. Функция определяется в
библиотеке .
Синтаксис:
где <управляющая
строка> - строка, которая может
содержать только спецификации формата,
перечень допустимых значений спецификаций
тот же самый, что и для функцииprintf()(см. табл. 3.1.);
<список адресов
переменных> – содержит перечисленные
через запятую адреса переменных, вводимых
функцией. Адрес переменной указывается
символом& и
далее идет идентификатор переменной,
например, адрес переменнойflagобозначается символами&flag.
Для массивов и строк указывать символ& не обязательно.
Замечание:
При использовании функцииscanf()в управляющей строке нежелательно
использовать никаких лишних символов
(даже пробелов), кроме спецификаций.
Нельзя использовать и специальные
символы.
1) Ввести с клавиатуры переменные
population
иage
типов длинное целое и вещественное
число:
scanf(“%ld%f”, &population,
&age);
2) Ввести с клавиатуры целую переменнуюkod
в шестнадцатеричном формате, строкуnameи вещественную переменную двойной
точностиprecision:
scanf(“%x%s%lf”, &kod,
name, &precision);
При вводе нескольких
переменных разделителями между ними
являются клавиши пробела, табуляции иENTER.
3.3.2. Пример 3.1
Рассмотрим программу, в которой
вычисляется значение функции y=sin(x)
для двух введенных с клавиатуры значений
аргумента. При этом вывод на экран
необходимо выполнить в виде следующей
таблицы (ширина поля каждой переменной
8 позиций, точность – 4 знака):
Листинг 3.1
/* Программа вычисления
функции y=sin(x)
*/
#include
#include
float x1,x2,y1,y2;
printf(“введите
два значения аргумента:\n”);
scanf(“%f%f”,&x1,&x2);
printf(“\n| x | y
|”);
printf(“\n|––––––––|––––––––|\n”);
printf(“|%8.4f|%8.4f|\n”,x1,y1);
printf(“|%8.4f|%8.4f|\n”,x2,y2);
Размеры таблицы, ее высота и ширина, определяются автоматически в зависимости от того, что содержат внутри себя ячейки. Чем больше наполнения в ячейках, тем больше размеры таблицы и наоборот.
Однако возможности CSS позволяют изменить размер таблицы в HTML, указывая именно те значения ширины и высоты, которые необходимы. Справедливости ради следует отметить, что еще атрибуты таблицы позволяют задавать нужные размеры. Однако, в настоящий момент мы поговорим лишь о CSS.
Необходимо подчеркнуть, что каждая таблица имеет свою минимальную ширину и минимальную высоту, на которые влияет ее содержание. И даже если вы зададите значения ширины и высоты еще меньше, то ничего не произойдет. Стороны таблицы не переступят свой минимум.
Чтобы указать ширину таблицы необходимо использовать CSS-свойство width
, а чтобы задать высоту необходимо применять свойство height
.
На примере это выглядит следующим образом.
Table {
width: 500px;
height: 100px;
}
Результат в браузере:
Полный код:
Таблица с заданными размерами
Таблица с заданными размерами
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Значения ширины и высоты таблицы могут быть заданы, как абсолютной величиной (в пикселях), так и относительной – в процентах. Например, 20px и 20% соответственно.
Если вы используете проценты, чтобы задать размеры таблицы, то они будут высчитываться, отталкиваясь от размеров родительского элемента. Если говорить о нашем примере, то речь идет про окно браузера.
Существует еще одно значение – auto. И оно является особым, поскольку с его помощью вычисление ширины и высоты таблицы происходит автоматически, по умолчанию. На практике указание этого значения выглядит вот так.
Width: auto;
Height: auto;
Хотим акцентировать ваше внимание на еще таком важном моменте. Что высоту в процентах лучше не указывать, поскольку, как правило, в таком случае они работать не буду.
Указание размеров отдельных ячеек и столбцов
Если вы считаете, что браузер не корректно задал ширину колонок, отталкиваясь от содержимого ячеек, то вы вправе размеры ячеек и столбцов указать самостоятельно. И сейчас мы поговорим о том, как изменить размер ячейки в таблице HTML.
Изменение размеров ячеек осуществляется при помощи тех же самых CSS-свойств, что и размеры таблицы, а именно: width
и height
.
Чтобы добавить стили ячейкам, можно использовать один из двух вариантов:
Задать ячейкам индивидуальные имена классов. Выглядеть это будет вот так:
class="cell-50px"
А после этого следует применить стили для данных классов.
Задействовать атрибут style
, внутри которого прописать необходимый CSS-код.
На практике второй вариант будет выглядеть следующим образом:
...
Однако, хотим отметить, что менять размеры ячеек по отдельности необходимость возникает не так уж часто. Как правило, это делается в тех ситуациях, когда необходимо задать определенную ширину столбцов таблицы. В таком случае, задача решается проще. Необходимо всего лишь указать ширину ячеек первой строки.
Таблица с заданными размерами
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Результат в браузере:
Как изменить размер шрифта в таблице
Зачастую возникает потребность в изменении размера текста в таблице. Например, в ячейках-заголовках. Это можно сделать с помощью CSS-свойства font-size
. Давайте зададим размер шрифта для элементов
:
Th {
font-size: 30px;
}
На этом данный урок заканчивается. Предлагаю хорошенько поразмыслить над домашним заданием. Прямо так внимательно его изучите и порассуждайте. Всем всего хорошего!
Здравствуйте, уважаемые читатели! Сегодня мы рассмотрим как задавать размеры блочных элементов веб страницы с помощью css свойств и настроить отображение контента в случае если он не помещается в элементе.
width и height — ширина и высота элементов в css
С помощью атрибутов стиля width и height можно задавать соответственно ширину и высоту блочных элементов:
В качестве значений можно использовать любые доступные в css единицы измерения - например, пикселы (px), дюймы (in), пункты (pt) и др.:
p {width:200px; height:150px}
Кроме абсолютных единиц можно задавать относительное значение размера элементов в процентах. В этом случае ширина и высота элемента будет зависеть от ширины и высоты родительского элемента. Если родитель явно не указан, то размеры будут зависеть от окна браузера.
div {width:40%;}
Значение auto отдает управление размерами элемента веб-браузеру и является значением по умолчанию. В этом случае размеры элемента будут такие, чтобы в нем полностью поместилось все его содержимое.
Рассмотрим несколько примеров.
width and height
Добро пожаловать на наш автомобильный сайт. Здесь Вы найдете много интересных и полезных статей об автомобилях, об их технических характеристиках и особенностях.
Результат:
В этом примере мы создали блок div и вложили в него абзац p с текстом. Для div-а мы строго задали размеры 300 на 300 пикселей. У элемента p значения свойств width и height равны auto, поэтому как видно на скриншоте, его ширина установилась равной ширине родительского элемента, а высота стала такой, чтобы в нем поместился весь содержащийся в абзаце текст.
Теперь изменим css настройки для абзаца p и зададим фиксированные размеры:
Layer2 {
background: #eee;
width:250px;
}
Результат:
Как видим ширина абзаца стала уже и равна 250 пикселей, а его высота увеличилась так, чтобы уместился текст, так как параметр height остался равным auto.
Теперь давайте зададим высоту и ширину абзаца в процентах:
Как видно на картинке, ширина элемента p стала равна половине ширины элемента div. А высота увеличилась и стала равна 75 процентам высоты div.
При задании ширины и высоты каких-либо элементов в относительных единицах, может понадобиться указать минимальные и максимальные возможные размеры. Ведь, например, при изменении размеров окна браузера размеры элемента могут уменьшаться и увеличиваться до таких размеров, что удобочитаемость сайта станет очень низкой.
Определить минимальную ширину и высоту можно с помощью атрибутов min-width и min-heigh:
min-width: <ширина>
min-height: <высота>
Аналогичные атрибуты стиля max-width и max-height позволяют задать максимальные размеры:
max-width: <ширина>
max-height: <высота>
Понятно, что при задании максимальных и минимальных значений высоты и ширины, размеры элемента не смогут стать больше максимального и меньше минимального значений.
Стоит уточнить, что задание параметров height и width имеет смысл только для блочных тегов
, так как для строчных элементов эти параметры браузером не обрабатываются.
Может получиться так, что при задании жестких параметров высоты и ширины элементу, содержащийся в нем контент может не вписаться в ограниченную область.
Например, уменьшим размеры абзаца p из выше рассмотренных примеров до 100 пикселей:
Как видно, текст вышел за границы абзаца и выглядит это не очень красиво. Для избежания подобных ситуаций существует правило css — overflow.
Параметр переполнения overflow для скрытия (hidden, visible) или прокрутки (scroll, auto) контента
Переполнение контента может возникнуть, когда ограничивают и ширину и высоту элемента. Рассмотрим два абзаца:
Текст первого абзаца
Текст второго абзаца
Результат:
Так как ни ширина ни высота для абзацев не заданы, то браузер самостоятельно рассчитывает их исходя из своего собственного понимания значения auto. В результате абзацы по ширине заняли все доступное пространство, а по высоте в соответствии с содержащимся в них контентом.
Теперь у первого абзаца ограничим ширину:
Текст первого абзаца
Текст второго абзаца
Результат:
Ширина абзаца ожидаемо уменьшилась, а высота установилась такой, чтобы вместить в себя весь текст.
Ну а теперь ограничим у первого абзаца и высоту:
Текст первого абзаца
Текст второго абзаца
В результате получилось, что текст в такой ограниченный абзац не влазит и поэтому он наехал на область нижнего соседа. Соответственно прочитать текст ни в первом ни во втором абзацах практически не возможно. Именно для управления поведением контента в таких ситуациях существует правило overflow
:
overflow: visible|hidden|scroll|auto|inherit
По умолчанию overflow принимает значение visible, которое сообщает браузеру, чтобы он отображал содержимое не уместившееся в контейнере. Результат можно увидеть на примере выше.
Правило скрывает все, что не помещается в контейнере:
Значение scroll отобразит в элементе по вертикали и горизонтали полосы прокрутки даже в том случае, если все содержимое умещается:
Текст первого абзаца
Текст второго абзаца
Наиболее популярным и логичным решением, если вам понадобится сделать полосы прокрутки для контейнера является значение auto
. В этом случае браузер сам будет определять когда и по каким осям стоит отображать полосы прокрутки:
Текст первого абзаца
Текст второго абзаца
Результат:
Для настройки полос прокрутки можно также использовать атрибуты стиля overflow-x и overflow-y, которые позволяют настраивать отображение прокрутки по отдельным осям. Таким образом отвечает за горизонтальную ось
, а за вертикальную ось
.
Поэтому если вам, например, нужно чтобы в абзаце горизонтальная прокрутка не появлялась никогда, а вертикальная появлялась только по необходимости, то достаточно написать следующее правило css:
p{overflow-x:hidden;overflow-y:auto;}
И задача будет решена.
На этом все. До новых встреч. Не забудьте подписаться на обновления блога и буду благодарен если воспользуетесь кнопочками социальных сетей.
HTML-формы
являются элементами управления, которые применяются для сбора информации от посетителей веб-сайта.
Веб-формы состоят из набора текстовых полей, кнопок, списков и других элементов управления, которые активизируются щелчком мыши. Технически формы передают данные от пользователя удаленному серверу.
Для получения и обработки данных форм используются языки веб-программирования, такие как PHP
, Perl
.
До появления HTML5 веб-формы представляли собой набор нескольких элементов , , завершающихся кнопкой . Для стилизации форм в разных браузерах приходилось прилагать немало усилий. Кроме того, формы требовали применения JavaScript для проверки введенных данных, а также были лишены специфических типов полей ввода для указания повседневной информации типа дат, адресов электронной почты и URL-адресов.
HTML5-формы
решили большинство этих распространенных проблем благодаря наличию новых атрибутов, предоставив возможность изменять внешний вид элементов форм за счет CSS3
.
Рис. 1. Улучшенные веб-формы с помощью HTML5
Создание HTML5-формы
1. Элемент
. Он не предусматривает ввод данных, так как является контейнером, удерживая вместе все элементы управления формы – поля
. Атрибуты этого элемента содержат информацию, общую для всех полей формы, поэтому в одну форму нужно включать поля, объединенные логически.
Таблица 1. Атрибуты тега
2. Группировка элементов формы
Элемент
предназначен для группировки элементов, связанных друг с другом, разделяя таким образом форму на логические фрагменты.
Каждой группе элементов можно присвоить название с помощью элемента