http://www.bootcss.com/p/lesscss/#docs より抜粋
LESS 構文
LESS は CSS の機能を去勢するものではなく、既存の CSS 構文を拡張したものです。には多くの追加機能が追加されているため、学習するのは簡単です。したがって、思い切って学習してください。
変数
わかりやすい:
@nice-blue: #5B83AD;@light-blue: @nice-blue + #111;#header { color: @light-blue; }
出力:
#header { color: #6c94be; }
変数名を使用して変数として定義することもできます:
@fnord: "I am fnord.";@var: 'fnord';content: @@var;
解析後:
content: "I am fnord.";
LESS の変数は完全に「定数」であることに注意してください。したがって、一度だけ定義できます。
混合
LESS では、いくつかの共通の属性セットをクラスとして定義し、これらの属性を別のクラスで呼び出すことができます。以下にそのようなクラスがあります。これらの共通属性セットが他のクラスに導入されている場合、任意のクラスで次のように呼び出すだけで済みます:
.bordered { border-top: dotted 1px black; border-bottom: solid 2px black;}
.border クラスの属性スタイルは #menu a と .post a に反映されます:
#menu a { color: #111; .bordered;}.post a { color: red; .bordered;}
任意の CSS クラス、ID、または要素の属性セットを同じ方法で導入できます
パラメーターとの混合
LESS では、関数のようなパラメーターを使用して属性のセットを定義することもできます。
#menu a { color: #111; border-top: dotted 1px black; border-bottom: solid 2px black;}.post a { color: red; border-top: dotted 1px black; border-bottom: solid 2px black;}
次に、他の呼び出しで。クラスでは次のようになります:
.border-radius (@radius) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius;}
次のようにパラメータのデフォルト値を設定することもできます:
#header { .border-radius(4px);}.button { .border-radius(6px); }
それでは、次のように呼び出します:
.border-radius (@radius: 5px) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius;}
半径の値は 5px になります。
次のこともできます:パラメーターなしでプロパティ コレクションを定義します。このプロパティ コレクションを非表示にして CSS に公開されないようにしたいが、他のプロパティ コレクションでも参照したい場合は、このメソッドが非常に簡単に使用できることがわかります:
#header { .border-radius; }
Output :
.wrap () { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word;}pre { .wrap }
@arguments 変数
@arguments には、渡されるすべてのパラメータが含まれます。 各パラメータを個別に処理したくない場合は、次のように記述できます:
pre { text-wrap: wrap; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word;}
は出力されます:
.box-shadow (@x: 0, @y: 0, @blur: 1px, @color: #000) { box-shadow: @arguments; -moz-box-shadow: @arguments; -webkit-box-shadow: @arguments;}.box-shadow(2px, 5px);
パターン マッチングとガイド式 式
場合によっては、次の例のように、渡されたパラメーターに基づいてミックスのデフォルトのレンダリングを変更する必要があります:
box-shadow: 2px 5px 1px #000; -moz-box-shadow: 2px 5px 1px #000; -webkit-box-shadow: 2px 5px 1px #000;
.mixin を異なる @switch 値に従って異なる動作にしたい場合は、次のように設定します。次のようにします:
.mixin (@s, @color) { ... }.class { .mixin(@switch, #888);}
ここで、次を実行すると:
.mixin (dark, @color) { color: darken(@color, 10%);}.mixin (light, @color) { color: lighten(@color, 10%);}.mixin (@_, @color) { display: block;}
次の CSS が得られます:
@switch: light;.class { .mixin(@switch, #888);}
上記のように、.mixin は渡された色の明るい色を取得します。 @switch が dark に設定されている場合、暗い色が表示されます。
具体的な実装は次のとおりです:
最初のパラメータとしてダークのみを受け入れるため、最初の混合定義は一致しません
複数の引数を一致させることもできます:
.class { color: #a2a2a2; display: block;}
ここで、1 つの引数を指定して .mixin を呼び出すと、最初の定義の出力が取得されますが、2 つの引数を指定して呼び出した場合は、2 番目の定義が取得されます。 @a が @b. にフェードアウトしました
Guide
Guidance は、値やパラメーターに基づいて一致させるのではなく、式に基づいて一致させたい場合に非常に役立ちます。関数型プログラミングに少しでも精通している場合は、ブートストラップを使用したことがあるでしょう。
CSS の宣言可能性を可能な限り維持するために、LESS は if/else ステートメントの代わりにガイド付きミックスインを介して条件判断を実装します。これは、前者が @media クエリ属性で定義されているためです。
次の例から始めます:
.mixin (@a) { color: @a;}.mixin (@a, @b) { color: fade(@a, @b);}
when キーワードを使用してブート シーケンスを定義します (この例にはブートが 1 つだけあります)。次に、次のコードを実行します:
.mixin (@a) when (lightness(@a) >= 50%) { background-color: black;}.mixin (@a) when (lightness(@a) < 50%) { background-color: white;}.mixin (@a) { color: @a;}
結果:
.class1 { .mixin(#ddd) }.class2 { .mixin(#555) }
このガイドで使用できるすべての比較演算は次のとおりです:
>= = 。さらに、キーワード true はブール値 true のみを表し、次の 2 つの組み合わせは同じです:.class1 { background-color: black; color: #ddd;}.class2 { background-color: white; color: #555;}キーワード true 以外の値はブール値 false として扱われます:
.truth (@a) when (@a) { ... }.truth (@a) when (@a = true) { ... }
先頭のシーケンスはカンマで区切られます ', '?, すべての条件が満たされた場合にのみ、一致は成功したとみなされます。
.class { .truth(40); // Will not match any of the above definitions.}
ガイドにはパラメータを持たせることも、パラメータに対して比較演算を実行することもできます:
.mixin (@a) when (@a > 10), (@a < -10) { ... }
最後に、値の型に基づいて照合したい場合は、is* 関数を使用できます:
@media: mobile;.mixin (@a) when (@media = mobile) { ... }.mixin (@a) when (@media = desktop) { ... }.max (@a, @b) when (@a > @b) { width: @a }.max (@a, @b) when (@a < @b) { width: @b }
以下は一般的な検出関数です:
iscolor
ispixel
キーワードの実装と条件を使用できることを付け加えておきます。 .mixin (@a, @b: 0) when (isnumber(@b)) { ... }.mixin (@a, @b: black) when (iscolor(@b)) { ... }
キーワードの実装または条件を使用します LESS 可以让我们以嵌套的方式编写层叠样式. 让我们先看下下面这段 CSS: 在 LESS 中, 我们就可以这样写: 或者这样写: 代码更简洁了,而且感觉跟DOM结构格式有点像. 注意 & 符号的使用?如果你想写串联选择器,而不是写后代选择器,就可以用到&了. 这点对伪类尤其有用如 :hover 和 :focus. 例如: 会输出 任何数字、颜色或者变量都可以参与运算. 来看一组例子: LESS 的运算已经超出了我们的期望,它能够分辨出颜色和单位。如果像下面这样单位运算的话: LESS 会输出 6px. 括号也同样允许使用: 并且可以在复合属性中进行运算: LESS 提供了一系列的颜色运算函数. 颜色会先被转化成 HSL 色彩空间, 然后在通道级别操作: 使用起来相当简单: 你还可以提取颜色信息: 如果你想在一种颜色的通道上创建另一种颜色,这些函数就显得那么的好用,例如: @new 将会保持 @old的 色调, 但是具有不同的饱和度和亮度. LESS提供了一组方便的数学函数,你可以使用它们处理一些数字类型的值: 如果你想将一个值转化为百分比,你可以使用percentage 函数: 有时候,你可能为了更好组织CSS或者单纯是为了更好的封装,将一些变量或者混合模块打包起来, 你可以像下面这样在#bundle中定义一些属性集之后可以重复使用: 你只需要在 #header a中像这样引入 .button: LESS 中的作用域跟其他编程语言非常类似,首先会从本地查找变量或者混合模块,如果没找到的话会去父级作用域中查找,直到找到为止. CSS 形式的注释在 LESS 中是依然保留的: LESS 同样也支持双斜线的注释, 但是编译成 CSS 的时候自动过滤掉: 你可以在main文件中通过下面的形势引入 .less 文件, .less 后缀可带可不带: 如果你想导入一个CSS文件而且不想LESS对它进行处理,只需要使用.css后缀就可以: 这样LESS就会跳过它不去处理它. 变量可以用类似ruby和php的方式嵌入到字符串中,像@{name}这样的结构: 有时候我们需要输出一些不正确的CSS语法或者使用一些 LESS不认识的专有语法. 要输出这样的值我们可以在字符串前加上一个 ~, 例如: 我们可以将要避免编译的值用 “”包含起来,输出结果为: JavaScript 表达式也可以在.less 文件中使用. 可以通过反引号的方式使用: 输出: 注意你也可以同时使用字符串插值和避免编译: 输出: 它也可以访问JavaScript环境: 如果你想将一个JavaScript字符串解析成16进制的颜色值, 你可以使用 color 函数:.mixin (@b) when not (@b > 0) { ... }
嵌套规则
#header { color: black; }#header .navigation { font-size: 12px;}#header .logo { width: 300px; }#header .logo:hover { text-decoration: none;}
#header { color: black; .navigation { font-size: 12px; } .logo { width: 300px; &:hover { text-decoration: none } }}
#header { color: black; .navigation { font-size: 12px } .logo { width: 300px; &:hover { text-decoration: none } }}
.bordered { &.float { float: left; } .top { margin: 5px; }}
.bordered.float { float: left; }.bordered .top { margin: 5px;}
运算
@base: 5%;@filler: @base * 2;@other: @base + @filler;color: #888 / 4;background-color: @base-color + #111;height: 100% / 2 + @filler;
@var: 1px + 5;
width: (@var + 5) * 2;
border: (@width * 2) solid black;
Color 函数
lighten(@color, 10%); // return a color which is 10% *lighter* than @colordarken(@color, 10%); // return a color which is 10% *darker* than @colorsaturate(@color, 10%); // return a color 10% *more* saturated than @colordesaturate(@color, 10%); // return a color 10% *less* saturated than @colorfadein(@color, 10%); // return a color 10% *less* transparent than @colorfadeout(@color, 10%); // return a color 10% *more* transparent than @colorfade(@color, 50%); // return @color with 50% transparencyspin(@color, 10); // return a color with a 10 degree larger in hue than @colorspin(@color, -10); // return a color with a 10 degree smaller hue than @colormix(@color1, @color2); // return a mix of @color1 and @color2
@base: #f04615;.class { color: saturate(@base, 5%); background-color: lighten(spin(@base, 8), 25%);}
hue(@color); // returns the `hue` channel of @colorsaturation(@color); // returns the `saturation` channel of @colorlightness(@color); // returns the 'lightness' channel of @color
@new: hsl(hue(@old), 45%, 90%);
Math 函数
round(1.67); // returns `2`ceil(2.4); // returns `3`floor(2.6); // returns `2`
percentage(0.5); // returns `50%`
命名空间
#bundle { .button () { display: block; border: 1px solid black; background-color: grey; &:hover { background-color: white } } .tab { ... } .citation { ... }}
#header a { color: orange; #bundle > .button;}
作用域
@var: red;#page { @var: white; #header { color: @var; // white }}#footer { color: @var; // red }
注释
/* Hello, I'm a CSS-style comment */.class { color: black }
// Hi, I'm a silent comment, I won't show up in your CSS.class { color: white }
Importing
@import "lib.less";@import "lib";
@import "lib.css";
字符串插值
@base-url: "http://assets.fnord.com";background-image: url("@{base-url}/images/bg.png");
避免编译
.class { filter: ~"ms:alwaysHasItsOwnSyntax.For.Stuff()";}
.class { filter: ms:alwaysHasItsOwnSyntax.For.Stuff();}
JavaScript 表达式
@var: `"hello".toUpperCase() + '!'`;
@var: "HELLO!";
@str: "hello";@var: ~`"@{str}".toUpperCase() + '!'`;
@var: HELLO!;
@height: `document.body.clientHeight`;
@color: color(`window.colors.baseColor`);@darkcolor: darken(@color, 10%);

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
