Как сделать прозрачную форму

от admin

Верстка прозрачной формы входа

Представьте, что вы начинающий верстальщик и перед вами стоит задача сверстать прозрачную форму входа на фоне изображения. Дизайнеры часто используют такие комбинации на сайтах с авторизацией, поэтому неплохо было бы знать как это делается.

Верстка прозрачной формы входа.

HTML код

Я не присваивал тегам никаких классов, так как мы имеем дело только с фрагментом сайта и можем себе это позволить. При верстки целого сайта, без классов не обойтись.

Верстка прозрачной формы входа.

Делать HTML разметку, одно сплошное удовольствие — это как разминка перед стартом, чего не скажешь про CSS. Надо много поработать, чтобы получить такую красоту.

CSS код формы входа

Для всех элементов пропишем свойство:

чтобы на заданную ширину формы 400 пикселей, не влияли бордеры, марджины и паддинги, в противном случае размеры формы выйдут из под контроля.

В качестве фона для всей секции будет большая фотография, которая займет собой все пространство — cover и не будет повторяться — no-repeat.

body <
background: url(https://cdn.pixabay.com/photo/2017/06/12/17/54/anemone-2396299_1280.jpg);
background-repeat: no-repeat;
background-size: cover;
>

Прозрачный бокс (section)для формы входа

Эта строчка задает черный цвет фона формы (0,0,0) и степень прозрачности, значение (.6) делает ее полупрозрачной.

section <
background: rgba( 0,0,0,.6);

Код ниже отвечает за местонахождение бокса относительно окна браузера. В нашем случае бокс позиционирован точно по центру.

position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);

Верстка прозрачной формы входа.

Стилизуем заголовок (h2)

Цвет, размер, название шрифта, необходимые отступы, определяются по PSD макету, ставит заголовок по центру свойство — text-align: center.

section h2 <
color: #fff;
font-family: 'Caveat', sans-serif;
font-size: 30px;
margin: 0 0 30px;
padding: 0;
text-align: center;
>

Стилизуем поля ввода (input)

В макете поля ввода нарисованы не типично, мы видим простые две линии, как в школьной тетрадке. Эти линии — нижнии рамки белого цвета и прозрачный фон у input-ов. Остальным рамкам выставлен border: none.

section div input <
background: transparent;
border: none;
border-bottom: 1px solid #fff;
>

Если щелкнуть мышью по полю ввода, то у него появится обводка, чтобы это убрать, то пишем следующее свойство.

Метки полей ввода (label)

Псевдоэлементы :focus и :valid

При вводе в форму пользователя логина и пароля, метки (login, password) будут мешаться. Поэтому в момент, когда input будет в фокусе, метки сдвинутся вверх.

section div input:focus

label,
section div input:valid

Верстка прозрачной формы входа.

«В моём видеокурсе» вы увидите реальный пример адаптивной верстки по макету.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 1 ):

у меня с прозрачностью rgba(0,0,0,.6) по чему-то не срабатывало, получилось только с полным значением 0.6, т.е. (0,0,0,0.6), а в остальном спасибо за урок очень познавательно.

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Невидимая форма

Как сделать так, чтобы вся форма была прозрачной, а были видны только компоненты?

Т.е. тупо картинка image посреди экрана, либо label (надпись).

Нужно убрать рамки и сделать прозрачную саму форму (без компонентов).

Настроить свойства формы: Transparent=True , в TransparentColor указать тот цвет, который ни для каких других элементов управления использоваться не будет (желательно какой-нибудь яркий: clYellow, clFuchsia ) и поставить этот же цвет в свойстве Color формы. Все эти свойства, конечно же, можно устанавливать программно, но это необходимо для тех случаев, когда может измениться цвет элементов управления: надписей и др. А рамка у формы убирается свойством BorderStyle со значением bsNone .

Читать:
Как определить длину массива python

По поводу рамки гуглите в сторону WM_NCPAINT .

По поводу создания формы произвольных размеров — CreateWindowRegion .

Точно не знаю, но, может, этого можно добиться с помощью borderStyle None и TransperentColor ?

Не помню с какой версии Делфей, но у формы появились свойства AlphaBlend и AlphaBlendValue как раз для этого предназначение. Но есть оговорка, работает в Виндах начиная с Windows 2000. То есть, на НТ4, Ме, 9х прозрачности не будет.

Создание прозрачных форм Windows Forms

В операционной системе Microsoft Windows XP существует возможность управления прозрачностью отображаемых окон. Свойство Opacity позволяет управлять прозрачностью формы.

Примечание.

Так как прозрачность форм поддерживается только начиная с операционной системы Windows 2000, формы Windows Forms останутся совершенно непрозрачными при запуске в старых операционных системах, например в Windows 98, независимо от значения свойства Opacity.

Чтобы управлять прозрачностью Windows Forms в окне Свойства для формы в свойстве Opacity задайте значение в диапазоне от 0,0 (полная прозрачность) до 1,0 (полная непрозрачность).

Чтобы управлять прозрачностью Windows Forms программными средствами в теле метода для свойства Opacity задайте значение в диапазоне от 0,0 (полная прозрачность) до 1,0 (полная непрозрачность). Свойство Opacity является типом значения Double, например:

glob.frm2.Opacity = 0.6;

Изменение границ формы Windows Forms с помощью конструктора

При определении внешнего вида формы Windows Forms предлагается несколько стилей границ. Изменяя свойство FormBorderStyle можно управлять поведением формы в отношении изменения размеров. Кроме того, с помощью свойства FormBorderStyle можно определить вид строки заголовка, а также кнопки, которые должны в ней появиться.

Чтобы определить стиль границы Windows Forms в режиме конструктора в окне Cвойства формы задайте для свойства FormBorderStyle выбранный стиль.

Примечание. Выбор стиля границы определяет наличие кнопок Свернуть и Развернуть в строке заголовка. По умолчанию кнопки Свернуть и Развернуть включены. Функциональные возможности этих кнопок определяются в окне Свойства.

Чтобы отключить кнопки свертывания и развертывания в Windows Forms в окне Свойства формы выберите у свойств MinimizeBox или MaximizeBox значение false.

В зависимости от заданного свойства соответствующая кнопка будет присутствовать, но останется нерабочей.

Чтобы определить стиль границы Windows Forms программными средствами присвойте свойству FormBorderStyle требуемое значение стиля. В следующем примере кода для стиля границы формы frm2 задается значение FixedDialog.

glob.frm2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;

Переход между формами

При добавлении формы Windows Forms в проект эта новая форма по умолчанию не отображается во время выполнения.

Чтобы перейти из формы1 на форму2 необходимо:

Объявить глобальную переменную в пространстве решения в любом месте, например:

namespace Metodichka

public class glob

public static Form frm;

прописать процедуру открытия формы2 в модуле Form1.cs, например:

private void toolStripMenuItem2_Click(object sender, EventArgs e)

if (glob.frm == null)

glob.frm = new Form2();

glob.frm.Show();

прописать процедуру закрытия формы2 в модуле Form2.cs, например:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)

Как сделать прозрачную форму

Gray Pipe

Лучший отвечающий

Вопрос

Доброго времени суток!

Столкнулся с необходимостью сделать полупрозрачную форму с непрозрачными контролами на ней. В частности интересует вывод текста на полупрозрачную форму.

Необходима возможность регулировать степень прозрачности динамически во время работы приложения.

Есть возможность изменять прозрачность при помощи Form.Opacity — но в этом случае все размещенные контролы также следуют установленному значению. Пробовал рисовать на форме — ну как и ожидалось — результат тот же, что и c размещенными контролами.

Нарыл в инете вариант с:

Form.BackColor = Color.White;
Form.TransparencyKey = Color.White;

public class opacityLabel : Label <
protected override void OnPaint(PaintEventArgs e) <
if (e != null) <
e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle);
>
else
base.OnPaint(e);
>

Но решение не совсем хорошее, т.к. форма становится полностью прозрачной.

В общем я в тупике. пните меня в нужное русло/направление для поиска в моей тупиковой ситуации.

PS: Можно ли делать градиентную прозрачность формы, например, используя в качестве шаблона картинку PNG?

Похожие статьи