[Angular Material完全攻略] Day 32&33 - 自己的theme自己設計 & 其他CSS技巧

Angular Material 主题定制与样式覆盖 在Angular Material 17中,主题定制是通过Sass来实现的。我们可以定义一个主题,然后使用来应用这个主题到所有组件上。下面是我的color: (),density: 0));在使用Angular Material时,理解和利用其主题机制非常重要。同时,也要意识到样式覆盖的优先级问题,确保你的自定义样式能够正确应用。通过上述步骤,我们可以轻松定制Angular Material的组件样式,实现我们所需的视觉效果。 阅读详情

[Angular Material完全攻略] Day 32 - 雜項技巧(1) - 自己的theme自己設計

 

Angular Material內建了4種不同主題的theme,未來應該還會持續增加,但這些theme未必是我們喜歡的,而在Angular Material中,要設計自己的theme非常簡單,我們就來看看該如何做吧!

建立自己的theme

建立一個theme相關的scss檔

 

Angular Material使用SCSS來設計,並提供了許多的@mixin可以使用,让我們轻易就能够定制化顏色的功能,首先第一步,我們先在项目下建立一个custom-theme.scss文档,如下图:

汇入核心功能

 

加入包含Angular Material的theming,並汇入基本的样式:

@import '~@angular/material/theming';

@include mat-core();

在执行@include mat-core()后,会將所有元件都共用的基本样式都加入,因此这个动作只需要做一次就好。

自订顏色

 

接着我们就可以來设定theme的顏色了,Material Design已經訂了許多顏色的調色盤(palette),同時在Angular Material中都有設計好对应主色的变量,举例來说:light blue的顏色就可以使用$mat-light-blue,而pink則可以使用$mat-pink;我們可以透過Angular Material另外提供的輔助工具mat-palette(),來設定這些顏色的亮度。例如:

$custom-primary: mat-palette($mat-light-blue);

另外我們也能提供3個參數,分別為,顏色主要的亮度(预设为500),前色的色调 以及 深色的色调

$custom-accent:  mat-palette($mat-orange, 500, A100, A700);//最后两个参数在theme中一般用不到可略

 

在這裡我們先把Material Design中的三种主要色彩都定义好,如下:

$custom-primary: mat-palette($mat-light-blue, 500); /* 500是預設值,也可以忽略 */
$custom-accent: mat-palette($mat-green);
$custom-warn: mat-palette($mat-brown);

建立theme

 

接下來我們可以使用mat-light-theme建立淺色主題,或mat-dark-theme建立深色主題,之後只需要使用@include angular-material-theme()就可以取得所有的顏色結果啦!

/* 建立深色主題 */
$custom-theme: mat-dark-theme($custom-primary, $custom-accent, $custom-warn);

@include angular-material-theme($custom-theme);

加入自定义的样式

 

最后我们要在style.css中加入样式,不过要记得我們目前是用SCSS,

因此要将style.css改为style.scss,

同時修改.angular-cli.json的app.styles,

最後在style.scss中加入我們自訂的樣式,就完成啦!

結果如下:

看起來是不是別有一番風味啊!

如果不知道顏色怎麼搭比較好,可以到 Material Design Color Palette Generator這個網站,隨意選擇兩種顏色,就可以看到效果參考囉!

建立多個theme并动态切换

 

要建立多個theme也很簡單,把@include angular-material-theme();的部分放到一個css class下,再切換不同的class就可以了,如下:

@import '~@angular/material/theming';

@include mat-core();

$custom-primary: mat-palette($mat-light-blue);
$custom-accent: mat-palette($mat-green);
$custom-warn: mat-palette($mat-brown);

$custom-theme: mat-dark-theme($custom-primary, $custom-accent, $custom-warn);

.custom-theme-1 {
  @include angular-material-theme($custom-theme);
}

$custom-primary-2: mat-palette($mat-yellow, 800);
$custom-accent-2: mat-palette($mat-deep-orange);
$custom-warn-2: mat-palette($mat-pink);

$custom-theme-2: mat-dark-theme($custom-primary-2, $custom-accent-2, $custom-warn-2);

.custom-theme-2 {
  @include angular-material-theme($custom-theme-2);
}

上面的程式中,我們使用兩組变量,並分別放到.custom-theme-1及.custom-theme-2之中,只需要切換不同的class,就可以改变整個画面喽!

多個theme切換時的注意事項

 

當有多個theme時,由於overlay通常會在theme的範圍之外,因次在需要dialog這類的程式顯示為異常,如下:

這時候我們必須做額外的設定,這時候我們需要注入OverlayContainer,並透過它取得overlay的container,然後把樣式加上去:

import { OverlayContainer } from '@angular/cdk/overlay';

@Component({ })
export class DashboardComponent implements OnInit {
  theme = 'custom-theme-1';

  constructor(private overlayContainer: OverlayContainer) { }

  ngOnInit() {
    this.overlayContainer.getContainerElement().classList.add(this.theme);
  }

  toggleTheme() {
    const originalTheme = this.theme;
    this.theme = this.theme === 'custom-theme-1' ? 'custom-theme-2' : 'custom-theme-1';
    this.overlayContainer.getContainerElement().classList.remove(originalTheme);
    this.overlayContainer.getContainerElement().classList.add(this.theme);
  }
}

 

這時候再切換就會一切正常啦!

注:以下网址提供了更多的免费及收费UI,可在里面找到适合自己项目的UI,具体细节再进一步调,缺点是下载时,需要登录用户,需要Google用户登录,靠!

https://www.uplabs.com/

 

本日小結

 

今天我們學到使用Angular Material所提供的SCSS,並了解到Material Design的調色盤中,在Angular Material都有對應的顏色,只需要使用$mat-xxxx變數即可,而透過mat-palette()可以得到實際顏色的配置,包含亮色調及暗色調。

最後我們使用mat-dark-theme()來取得深色的主題顏色,當然也能夠使用mat-light-theme來得到亮色的主題,最後再使用angular-material-theme()得到完整Angular Material裡面相關元件的class。

由於SCSS的特性,我們也能輕易把這些主題樣式包裝到另外一個class之中,來達到切換樣式的效果,可以說是非常的有彈性啊!

本日的程式碼GitHub:https://github.com/wellwind/it-ironman-demo-angular-material/tree/day-32-theme

分支:day-32-theme

相關資源

 

 

 

 

 

 

 

 

[Angular Material完全攻略] Day 33 - 雜項技巧(2) - 其他CSS技巧

今天來分享一些筆者近期撰寫Angular Material文章,以及開始在實際專案中使用Angular Material所整理出來的一些CSS小技巧,有些在文件上可以輕鬆找到,有些則是遇到後才整理出來的,希望能對各位讀者大大們在使用Angular Material時有所幫助!

透過Angular Material使用Material Design中的顏色

昨天的文章在介紹自訂theme時,我們提到了內建顏色的$mat-XXXX變數,這些變數的實際原始碼看起來如下:

要直接取得裡面的顏色,可以搭配使用SASS的map-get()方法,例如要取得紅色色票中亮度為500的顏色代碼,可以使用如下方式:

.custom-style {
    color: map-get($mat-red, 500);
} 

如此一來就能取得#f44336的色碼啦!

另外在Angular Material中還有定義一個mat-color()方法,方便我們設定顏色,以及他的透明度,甚至可以不用擔心亮度,直接使用darker或lighter參數,來決定定義好的亮度,除此之外也可以直接設定透明度,被用在許多Angular Material中的背景顏色的設定,如以下樣式我們選用暗色調的紅色,以透明度50%,作為樣式的背景:

.custom-color {
  background: mat-color(mat-palette($mat-red), darker, 0.5);
} 

關於顏色的定義,除了上Material Design網站上觀看調色盤外,也可以直接查Angular Material的_palette.scss,可以看到完整的顏色變數。

使用material-colors套件

其實這已經脫離Angular Material的範圍了,但很值得簡單介紹一下,因為Angular Material的顏色一定要搭配SASS並寫在scss檔中,有時候比較懶惰,只想要單純使用顏色時,若有人直接把相關顏色都訂成對應的class,那實在是太方便了!而material-colors套件就是一個幫我們把Material Design顏色都訂成CSS class的好東西!

加入這個style樣式後,我們可以直接使用class="color-red-500",來取得紅色色票且亮度為500的顏色,另外被景色也可以使用class="bg-red-500"來達到預期的效果。

除此之外material-colors套件也有定義好的SASS檔,相當值得參考。

透過Angular Material使用Material Design中的陰影

在Material Design中,為了讓畫面具有立體感,對於陰影(shadows)的使用可以說是非常講究,這種陰影設計也被稱為elevation,作為元件與元件之間高低差的概念,也就是陰影越深,高度看起來就越高。

下圖是從Material Design設計指南中擷取的圖片,對於各種高度效果的建議:

數值越高代表在畫面呈現上應該在越上層,例如Dialog類型的應該要在最高的位置24,選單Menu在8,而子選單會比選單在高一點,因此在高度9的位置。

當我們自己在設計元件時,為了讓元件更有立體感,可以參考這個高度表,評估一下自己設計的元件屬於哪種元件分類,進而選擇適當的高度,來達到畫面呈現的一致感!

至於具體的CSS樣式到底該如何設計呢?其實Angular Material已經都幫我們設計好啦!只要套用mat-elevation-zX的樣式就可以了!X的部分,請直接換成對應的高度,例如我們在使用overlay並顯示在整個畫面上時,通常是類似dialog的角色,這時候就可以要顯示元件上加一個class="mat-elevation-z24",就能夠具有一致的顯示啦!

另外我們也能夠使用mat-elevation()這個mixin,只需要以適當的高度當作參數帶入,就會產生對應高度的陰影樣式:

@import '~@angular/material/theming';

.my-custom-button {
  @include mat-elevation(2);
}

等於得到如下的陰影樣式:

.my-custom-button {
  box-shadow: 
    0px 3px 1px -2px rgba(0, 0, 0, 0.2), 
    0px 2px 2px 0px rgba(0, 0, 0, 0.14), 
    0px 1px 5px 0px rgba(0, 0, 0, 0.12);
} 

真是省時又省力啊!

替某個Angular Material元件客製化樣式

這個技巧在之前其實已經提過幾次,但真的很實用也很重要,因此在這邊再次提一下。在Angular Material中,幾乎所有的元件與directive,都會加上一個與它自己同名的CSS class,例如mat-button這個directive會在它的元件上加入同名的CSS class。因此我們可以直接在撰寫CSS時,透過這個class來調整樣式,例如:

.mat-button {
    font-size: 24px;
} 

透過這樣的方式,要針對某個元件為調整符合需求的呈現就變得非常簡單哩。

善用panelClass

Angualr Material中,有許多popup的呈現,都能透過設定panelClass來改變整個popup的呈現,以筆者實際遇到的一個狀況為例:專案需要一個dialog,已經由美工設計好,這個dialog是沒有padding的,但使用Angular Material打開的dialog預設會套用一個mat-dialog-container樣式,團隊討論後不希望直接像上一段描述的調整全域mat-dialog-container樣式,這時候我們就替要打開的dialog設定了一個panelClass:custom-dialog,並調整樣式把裡面mat-dialog-container的padding設為0,如下:

.custom-dialog {
  .mat-dialog-container {
    padding: 0px;
  }
}

之後打開dialog時,程式調整成:

this.dialog.open(SomeDialogComponent, {
  panelClass: 'custom-dialog'
}); 

就能夠改變顯示dialog底層panel的樣式啦!

其他可能的狀況如背景顏色、調整陰影等等,都可以透過panelClass來做設定!

這個技巧在所有popup類型的元件都可以使用,除了dialog、snackbar是使用程式控制以外,其他元件如<mat-select>或<mat-menu>等,都有一個panelClass的input可以直接使用。

另外使用Angular CDK的overlay時,也能夠透過panelClass來設定樣式。

單獨使用某個Angular Material元件

要單獨使用某個元件其實不難,只要import對應的Module就好,就算把所有Module都import近來好了,Angular Material也會在build時透過tree shaking機制來甩掉用不到的程式,因此原則上是不用擔心會入過多程式造成檔案龐大的問題,但這是程式面的部分,而CSS就不是這麼一回事了!

當我們使用@include angular-material-theme()的同時,也就代表所有Angular Material元件的樣式都被加了進來,但或許我們真的只需要用到整個Angular Material的1~2個功能,又對檔案大小有所要求時,其實我們還是能單獨匯入特定元件的樣式。

簡單的步驟說明如下:

定義基本主題顏色

要單獨使用某個樣式,當然就必須拋棄現有theme的CSS檔(或看看未來Angular Material會不會提供單純theme的SCSS定義檔),因此我們必須自己定義theme的顏色,這部分在昨天的文章已經介紹過了,如下:

@import '~@angular/material/theming';

@include mat-core();

$custom-primary: mat-palette($mat-light-blue);
$custom-accent: mat-palette($mat-green);
$custom-warn: mat-palette($mat-brown);

$custom-theme: mat-dark-theme($custom-primary, $custom-accent, $custom-warn); 

加入核心樣式

接下來我們要加入核心的樣式,這些樣式是大部分元件都通用的,因此必須先加進來,除了mat-core()已經有了最基本的共用樣式外,還需要加入mat-core-theme()

.custom-theme-1 {
  @include mat-core-theme($custom-theme);
}

 

加入元件樣式

最後,我們只加入想要的元件樣式就好,Angular Material中將所有的元件都依模組切成了不同的mixin,只需要針對對應模組加入mat-xxxxx-theme,例如button對應的就是mat-button-theme

.custom-theme-1 {
  @include mat-core-theme($custom-theme);
  @include mat-button-theme($custom-theme);
} 

這時候就只有按鈕元件會套用相關的樣式啦!

進一步瘦身

上列步驟是一個簡單且保險的方法,但還是可能會加入許多不必要的樣式;舉例來說,mat-core()包含了overlay相關的樣式,在只使用button時根本用不到;而mat-core-theme()裡面其實也沒有與button相關的共用樣式,加入這個設定只會產生用不到的樣式而已,這時候我們可以來看看_core.scss中mat-core()和mat-core-theme()到底加入了些什麼共用的樣式:

// Mixin that renders all of the core styles that are not theme-dependent.
@mixin mat-core($typography-config: null) {
  // Provides external CSS classes for each elevation value. Each CSS class is formatted as
  // `mat-elevation-z$zValue` where `$zValue` corresponds to the z-space to which the element is
  // elevated.
  @for $zValue from 0 through 24 {
    .#{$_mat-elevation-prefix}#{$zValue} {
      @include mat-elevation($zValue);
    }
  }

  @include angular-material-typography($typography-config);
  @include mat-ripple();
  @include mat-option();
  @include mat-optgroup();
  @include cdk-a11y();
  @include cdk-overlay();
}

// Mixin that renders all of the core styles that depend on the theme.
@mixin mat-core-theme($theme) {
  @include mat-ripple-theme($theme);
  @include mat-option-theme($theme);
  @include mat-optgroup-theme($theme);
  @include mat-pseudo-checkbox-theme($theme);

  // Wrapper element that provides the theme background when the
  // user's content isn't inside of a `mat-sidenav-container`.
  .mat-app-background {
    $background: map-get($theme, background);
    background-color: mat-color($background, background);
  }

  // Marker that is used to determine whether the user has added a theme to their page.
  .mat-theme-loaded-marker {
    display: none;
  }
} 

可以看到有些其實是用不到的,但當使用<mat-select>時,mat-option-theme()就可能是必要的!這時候我們就能夠排除使用mat-core()和mat-core-theme(),自己選擇要加入的mixin囉,再進一步的瘦身啦!

以上方法其實已經對於檔案大小有吹毛求疵的要求了,一般狀況很少用到,純粹炫耀筆者對Angular Material的理解程度之深(誤) 但當真的有所要求或追求極致時,就是一個可以考慮調教的地方囉!

順帶一提,以筆者目前的範例專案,使用Angular CLI 1.6.0的ng serve指令產出未壓縮的style.bundle.js檔,使用上述方法瘦身後,減少約150k的大小(當然,許多樣式都消失了)。

如何單獨使用Angular CDK

Angular CDK是Angular Material共用的部分抽取出來的工具,在之前的文章我們也提過,不是每個專案都需要使用Material Design,但每個專案基本上都需要打造自己的元件!因此我們可以不裝Angular Material,但強烈建議把Angular CDK加入專案中,但Angular CDK其實還是有基本的樣式,像是overaly的灰底等等,那麼只加入Angular CDK的專案,該怎麼把這些樣式加進來呢?

其實從上一章套用部分樣式中我們就能略知一二,在mat-core()中我們加入了cdk-a11y()和cdk-overlay()兩個mixin,給Angular CDK使用,所以我們只需要把Angular CDK的SCSS路徑找出來,再加入style.scss之中就好囉:

@import "~@angular/cdk/_a11y.scss";
@import "~@angular/cdk/_overlay.scss";

@include cdk-a11y();
@include cdk-overlay(); 

當然啦!如果沒用到Angular CDK的a11y和overlay功能,一樣可以不加入這兩組樣式。

本日小結

在筆者一段不算長的時間學習以及正式專案中部分使用Angular Material及Angular CDK經驗中,所遇到的一些需求,如下:

  1. 細部調整元件的呈現
  2. 打造更加一致具有Material Design風格的元件
  3. 檔案瘦身

在Angular Material中已經幫我們把這些都設想好了,我們只要依照前人走好的路,就能更輕鬆達成這些目標,真的是太幸福啦!

相關資源

angularjs-demo-theme, 在http上,为post构建的演示主题.zip angularjs-demo-theme, 在http上,为post构建的演示主题 使用AngularJS和 WP REST API v2测试版 9在你的WordPress主题中这是我的教程文章中最后的项目文件: 使用AngularJS和 REST API 在你的WordPress主题中。 即使你没有任何经验,只要你熟悉 立即下载

相关推荐

使用Angular material主题定义自己的组件库的配色体系

本期为Angular系列的第一篇文章,我会从这里搭建Angular sample项目、组件库、主题、然后每个组件等。使之成为一个比较通用的组件库系列文章,目的有二: 1、自己在写系列文章过程中不断夯实基础、不断学习补缺; 2、分享给一些不熟悉angular及自定义组件的同学,使之快速上手并提高。 1. 使用Angular CLI命令行工具生成一个Angular sample的项目:这里添加了一个optional的参数&ndash;style=scss,是为了后面使用angular material的themes。待命令完成就生成了一个可npm start运行的标准的angular项目,其中workspac

基于react的组件库主题设计方案

作者 |余佩纯基于react设计与开发的组件库主题方案,以 Hippy React 主题方案设计为例需求背景单一的视觉不再满足用户体验需求,为提高用户体验,提高应用体验口碑,同时提高开...

web前端开发 791

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

material theme 自定义_Angular Material自定义主题 – 为什么mat-palette需要4个变量?

似乎主要是在这里指定颜色// Define the palettes for your theme using the Material Design palettes available in palette.scss// (imported above). For each palette, you can optionally specify a default, lighter, and ...

weixin_39929259的博客 445

【面试经验】京东-技术产品经理一面:从紧张到反思的全流程复盘

本文详细复盘了京东技术产品经理一面的全流程,从面试前的简历打磨、业务理解和技术基础准备,到面试中的高压对话和突发状况应对,再到面试后的深度反思与改进方案。文章特别强调了技术产品经理需要具备的技术理解力、数据敏感度和商业思维,并提供了实用的面试建议和准备技巧。

weixin_28730927的博客 162

UDS服务应该支持哪些否定响应码

UDS服务应该支持哪些否定响应码所有服务都需支持的否定响应码具体的服务需要支持的否定响应码否定响应码定义及其取值 USD诊断服务的否定响应中包含有导致否定响应原因的编码,称为否定响应码(NRC, Negative Response Code)。否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。 0x01 – 0x7F:诊断通信相关的否定响应码。 0x80 – 0xFF:服务器收到诊断服务请求时,由于某些条件不满足要求而给出的否定

闲聊汽车软件开发 4万+

Angular Material2教程入门_02_配置主题theme

Angular Material2开发入门_02_配置主题 什么是主题? 主题是将应用于Angular Material组件的颜色集。 库的主题方法基于Material设计规范的指导。 在Angular Material中,通过组合多个调色板来创建主题。 特别是,主题包括: 主要调色板:在所有屏幕和组件中使用最广泛的颜色。 重点调色板:用于浮动操作按钮和交互元素的颜色。 警告调色板:用于传达错误...

Brave Soul Blog 1452

Android 车载应用开发与优化(1) - CarLauncher 核心功能与动态集成探秘

本文深入探讨了Android车载应用开发中CarLauncher的核心功能与实现原理。作为车载系统的“脸面”,CarLauncher不仅提供应用入口,更通过动态集成技术将地图、音乐等关键信息嵌入桌面,以保障驾驶安全与体验。文章详细解析了其源码结构、权限配置、应用启动机制以及基于Activity嵌入的动态集成黑魔法,为开发者提供了从基础认识到高级优化的完整指南。

weixin_29239279的博客 281

AngularCli主题切换

AngularCli主题切换 首先要说明的是,这是基于Angualr的一个主题切换策略,不附加任何UI框架的主题系统. 经常使用Angular的小伙伴应该都了解,Angular和Scss结合的很好,所以这篇Angular的主题切换策略,也主要以Scss预处理器来做。 我这里使用的AngualrCli的版本为12,还是比较新的。这篇策略可以向下兼容,这个不用担心。 这个策略在其他以scss为预处理器的项目中好像也能实现。 实现效果图: 自定义主题 由于不附加任何UI框架的主题系统,所以要实现

@不喝海之言@ 1861

手把手教你用STM32的SPI驱动MCP2517FD实现CAN FD通信(附完整代码)

本文详细介绍了如何使用STM32通过SPI驱动MCP2517FD实现CAN FD通信,涵盖硬件连接、SPI驱动编写、寄存器配置及数据收发实战。提供完整代码示例和常见问题排查指南,帮助开发者快速构建高可靠性的CAN FD通信系统,适用于汽车电子和工业控制等领域。

weixin_30607029的博客 674

【unity游戏开发入门到精通——UGUI】UI控件 —— Toggle开关切换控件

【unity游戏开发入门到精通——UGUI】UI控件 —— Toggle开关切换控件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1844

材料主题生成器:一款基于 Angular 的开源项目

材料主题生成器:一款基于 Angular 的开源项目 材料主题生成器(Material Theme Generator)是一个开源项目,旨在帮助开发者快速生成 Material Design 风格的主题。该项目主要使用 TypeScript 和 SCSS 编程语言开发。 项目基础介绍 材料主题生成器是一款基于 Angular 框架的应用程序,它通过简单的用户界面允许开发者选择不同的颜色,然后生成相...

gitblog_00498的博客 298

STM32G431的 FDCAN使用5M加速时,出现奇葩问题,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1635

material theme 自定义_Angular Material 主题系统(二)-- 自定义主题

实际的开发场景中,应用程序的文字排版不是一成不变的,也常常需要自定义颜色来适配具体项目需求,这就需要去自定义 Material 的主题。Angular Material 库的样式是采用 Sass 开发的,几乎全部写在了 mixin 中,定制起来非常容易,让整个主题系统相当的灵活可配置。它也提供了很多的工具型 mixin 和 函数,来帮助我们在编写自己的组件时,和 Material 的主题样式步调一...

weixin_32424555的博客 974

YOLOv8 模型进化全解析:百种创新模块集成方法与实战部署指南(附资料链接)

动态网络 | DeformableConv/DynamicHead| +2.8% || 轻量化卷积 | GhostConv/MobileConv | +1.2% || 多尺度融合 | AFPN/ASFF | +3.5% || 注意力机制 | CA/EMA/SimAM | +1.8-4.2% |

FJN110的博客 110

【Bug已解决】[Bug]: ValueError: No user query found in messages QWEN 3.5 27B VLLM 0.16.0 NIGHTLY 解决方案

用 vLLM 0.16.0 nightly 给发聊天请求时,服务端在处理消息时抛ValueError,请求失败。

博客 398

Snackbar的显示位置以及字体颜色字体大小背景修改

前言 修改Snackbar的位置操作需要父布局是FrameLayout或者CoordinatorLayout 其他布局无效,需要使用其他开源的了。 代码 Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content),"测试", Snackbar.LENGTH_LONG); View snackBarView = snackbar.getView(); ViewGroup.LayoutParams

weixin_46444429的博客 3304

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

自存angular 自定义snackbar

angular snackbar 组件

2301_78916954的博客 344

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Angular系列】1. 使用Angular material主题定义自己的组件库的配色体系

本期为Angular系列的第一篇文章,我会从这里搭建Angular sample项目、组件库、主题、然后每个组件等。使之成为一个比较通用的组件库系列文章,目的有二:1、自己在写系列文章过程中不断夯实基础、不断学习补缺;2、分享给一些不熟悉angular及自定义组件的同学,使之快速上手并提高。 1. 使用Angular CLI命令行工具生成一个Angular sample的项目:这里添加了一个op...

zxz414644665的专栏 1439

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Angular 入门教程系列:25:Zorro定制主题

与之前的版本相比,稳定版本的zorro提供了定制主题的功能,而且和Ant Design React一样,主题定制文件是可以通用的。因为Ant Design的样式本身就是Less的,所以整体的调整会非常的简单。主题可定制可调整,应该是这个版本的zorro的最大亮点之一。 使用前提 Less的版本需要降到2.7.3,其实,Angular 5所支持的版本即为2.7.3: liumiaocn:n...

知行合一 止于至善 7498

Angular Material主题

如果要自定义主题的话,style.scss中引入的material的内建主题样式就不需要了,下面一行代码就从style.scss中移除掉@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; //这段是引入material的核心主题新建一个文件专门自定义主题theme.scss建立主题的时候首先把angular mater

陈开心的博客 4420

如何在Angular Material中制作自定义主题

by Charlee Li 通过李李 如何在Angular Material中制作自定义主题 (How to make a custom theme in Angular Material) Angular Material is a great library that implements Material Design for Angular 2+. The official docum...

cumi7754的博客 562

angular7主题样式在线切换

参考ng-alain和delon 思路就是动态加载css文件 代码实现 写两套less文件,分别为light.less和dark.less 用相关插件将less文件转为一个js对象(less-vars-to-js 插件) function genToJs(type) { const ngZorroAntdStylePath = path.join(__dirname, '../node_modules/ng-zorro-antd/style'); const ngZorro = `

崔的博客 1397

AngularJS实现网站换肤的简单示例

网站不应该只注重功能,还应该注重用户体验;成熟的大型网站大都具备让用户自行选择主题及颜色的功能,AngularJS也可以做到这点。效果图:原理是使用ng-href来动态为网页更换样式:<link rel="stylesheet" type="text/css" ng-href="{{theme.value}}.css">代码:<!DOCTYPE html> <html ng-app="app" ng

justforuse的博客 2736

angular实现皮肤主题切换的方案

分配了个给现有angular6项目实现主题切换的效果,实现light dark明暗两种显示效果,我使用scss css预处理器方便开发。效果(只截了一点点): 切换样式 就是 实现css 的 变化,主要思路是通过在body 上控制自定义属性的值实现样式的控制,在body上 添加 data-theme-style=”dark”, 像这样: ...

weixin_34348111的博客 1855

【Angular】切换网页主题颜色

scss代码: .theme-wrapper { --cardBackgroundColor: #0094ff; --cardColor: #ffffff; } $variables: ( --cardColor: var(--cardColor), --cardBackgroundColor: var(--cardBackgroundColor), ); @f...

hushukang的博客 2143
上一篇: Angular的启动过程
下一篇: npm 命令收集
天意pt
博客等级 码龄14年 10粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值