Kod*_*oth 0 media-queries angular
即使我们使用角度材料来开发响应式应用程序,有人也能理解媒体查询的重要性吗?我们还需要担心吗?是材料没有为我们照顾它吗?
是和否。
无需创建自己的媒体查询。
拥有响应式应用程序意味着主布局将处理窗口大小。主要布局意味着你在列和行中思考。
要控制这种响应行为,您可以使用 angular/flex。
首先:您必须通过以下方式安装它
npm install @angular/flex-layout -s
Run Code Online (Sandbox Code Playgroud)
您将在此处找到文档和大量演示:angular/flex-layout和此处:Demos
你可以试试这个:angular-project-generator。生成的项目种子使用 angular/flex 和 angular mat-sidenav。
如果您想编写自己的媒体查询,请不要使用 200px、300px 或 500px。尝试使用此处使用的相同值:响应式 API
default angular breakpoints:
xs: begin: 0, end: 599.9px
sm: begin: 600px, end: 959.9px
md: begin: 960px, end: 1279.9px
lg: begin: 1280px, end: 1919.9px
xl: begin: 1920px, end: 4999.99px
Run Code Online (Sandbox Code Playgroud)
在我的一些 angular 项目中,我使用了这个 scss,它生成了一些响应式帮助器类:
@charset "UTF-8";
// see node_modules/@angular/flex-layout/_mq.scss
// Non-overlapping Material Design breakpoints
// @type map
$breakpoints: (
xs: (
begin: 0,
end: 599.9px,
),
sm: (
begin: 600px,
end: 959.9px,
),
md: (
begin: 960px,
end: 1279.9px,
),
lg: (
begin: 1280px,
end: 1919.9px,
),
xl: (
begin: 1920px,
end: 4999.99px,
),
) !default;
// Overlapping breakpoints that are greater than defined
// Material Design breakpoints
// @type map
$overlapping-gt: (
gt-xs: 600px,
gt-sm: 960px,
gt-md: 1280px,
gt-lg: 1920px,
) !default;
// Overlapping breakpoints that are less than defined
// Material Design breakpoints
// @type map
$overlapping-lt: (
lt-sm: 599.9px,
lt-md: 959.9px,
lt-lg: 1279.9px,
lt-xl: 1919.9px,
) !default;
@mixin layout-bp($bp) {
@if map-has-key($breakpoints, $bp) {
$min: map-get(map-get($breakpoints, $bp), begin);
$max: map-get(map-get($breakpoints, $bp), end);
@media (min-width: $min) and (max-width: $max) {
@content;
}
} @else if map-has-key($overlapping-gt, $bp) {
$min: map-get($overlapping-gt, $bp);
@media (min-width: $min) {
@content;
}
} @else if map-has-key($overlapping-lt, $bp) {
$max: map-get($overlapping-lt, $bp);
@media (max-width: $max) {
@content;
}
}
}
$allkeys: map_keys(
map_merge($breakpoints, map_merge($overlapping-gt, $overlapping-lt))
);
@each $key in $allkeys {
@include layout-bp($key) {
.ge-display-none-#{$key} {
display: none !important;
}
.ge-display-block-#{$key} {
display: block !important;
}
.ge-display-inline-#{$key} {
display: inline !important;
}
.ge-padding-0-#{$key} {
padding: 16px !important;
}
.ge-padding-16px-#{$key} {
padding: 0 !important;
}
.ge-margin-0-#{$key} {
margin: 16px !important;
}
.ge-margin-16px-#{$key} {
margin: 0 !important;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将 scss 代码放在此处以查看生成的媒体查询:sassmeister
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |