Давайте сначала посмотрим на достигнутый эффект:
Первоначальный замысел дизайна:
1. Простой и освежающий
2. Фокус
На всей странице используется градиентный цвет фона (здесь непосредственно используется картинка), важный контент отображается в центре, а термины и прочий контент выводятся небольшими словами в правом нижнем углу, на всем сайте преобладает рассвет синий.
Весь проект, потому что использованиеreact ant design
Это зрелый фреймворк, поэтому почти не нужно писать много лишних стилей.
Конкретная структура фрейма в этой статье не рассматривается. Код для интерфейса входа выглядит следующим образом:
import { useState } from "react";
import * as React from "react";
import BlankLayout from '../../layout/BlankLayout/index';
import Logo from '../../components/Logo/index';
import { Form, Input, Button, Card, notification } from 'antd';
import { FrownOutlined } from '@ant-design/icons';
const layout = {
labelCol: { span: 5 },
wrapperCol: { span: 18 },
};
const tailLayout = {
wrapperCol: { offset: 5, span: 18 },
};
const LoginForm = () => {
const [loading, setLoading] = useState(false);
const onFinish = (values: any) => {
setLoading(true);
setTimeout(() => {
setLoading(false)
window.location.href = '/'
}, 1000)
console.log(values)
}
const onFinishFailed = () => {
notification.open({
message: '登陆失败',
description: '请您完善表单!',
icon: <FrownOutlined style={{ color: '#ff4d4f' }} />
});
}
return (
<Card style={{ background: 'rgba(255, 255, 255, .3)', backdropFilter: 'blur(10px)' }}>
<Card.Grid style={{width: '100%'}}>
<Logo />
<Form
{...layout}
onFinish={onFinish}
onFinishFailed={onFinishFailed}
style={{ width: '480px', padding: '40px 0 0 20px'}}
>
<Form.Item
label="账号"
name="username"
rules={[{ required: true, message: '请输入!' }]}
>
<Input />
</Form.Item>
<Form.Item
label="密码"
name="password"
rules={[{ required: true, message: '请输入!' }]}
>
<Input.Password />
</Form.Item>
<Form.Item {...tailLayout}>
<Button loading={loading} type="primary" htmlType="submit" style={{width: '100%'}}>
登陆
</Button>
</Form.Item>
</Form>
</Card.Grid>
</Card>
)
}
export function Login() {
return (
<>
<BlankLayout
contents={<LoginForm />} />
</>
)
}
эффект матового стекла
Что такое эффект матового стекла?
-
Эффект матового стекла с размытым фоном
-
Космические объекты, плавающие на нескольких уровнях
-
Яркие цвета подчеркивают размытую прозрачность
-
Полупрозрачные объекты имеют тонкую границу света
Ждать. Изображение ниже может лучше проиллюстрировать этот эффект:
Эти замечательные функции позволяют пользователям лучше определять глубину и многоуровневость интерфейса. Из-за своего стеклянного вида он известен в промышленности как стекломорфизм.
Конкретный код реализации см. в следующей демонстрации:
.target {
background: rgba(255, 255, 255, .7);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
}
Совместимость с браузером
Как показано на рисунке, согласноcaniuseданные сайта, более88.3%
браузеры поддерживают эту функцию. еслиFirefoxБыло решено включить это свойство по умолчанию, и по мере сокращения использования устаревших браузеров (например, IE 11) эффект матового стекла будет более широко использоваться в ближайшие несколько лет.
позже
- Больше контента:GitHub.com/still99/блог…