styleSheet.netは、C#、VB.NET、およびF#開発者向けに設計されたクロスプラットフォーム.NETライブラリです。開発者はコードにCSSスタイルを直接記述し、外部スタイルシートファイルの必要性を排除できます。 styleSheet.netは、すべてのCSSプロパティ、AT-RULE、キーワード、およびその他の要素に事前に書かれた実装を提供し、追加の依存関係の必要性を排除します。
これにより、模倣されたCSSと未成年の両方のCSSの両方をエクスポートできます。
Stylesheet.netには、幅広いIntelliSenseドキュメントがあります。

Install-Package Stylesheet.NET -Version 1.2.0
styleSheet.netを使用して、C#コード内に次のCSSスタイリングロジックを実装できます。
@charset "UTF-8" ;
@font-face {
font-family : 'lilitaone-regular' ;
src : url ( 'font/lilitaone-regular.ttf' );
}
: root {
all : unset;
--color : blue;
}
. head . account {
height : 40 px !important ;
width : 40 px !important ;
position : absolute;
top : 12 px ;
left : 15 px ;
border-radius : 20 px ;
border : 2 px # 837A78 solid;
display : flex;
justify-content : center;
align-items : center;
-webkit-animation : flash;
-moz-animation : flash;
animation : flash;
}
# dot : hover {
height : 10 px ;
width : 10 px ;
position : absolute;
top : 16 px ;
right : 13 px ;
background-color : # F16842 ;
border-radius : 5 px ;
display : block;
}
@Keyframes flash{
0% , 50% , to {
opacity : 1 ;
}
55% {
opacity : 0.5;
}
25% , 75% {
opacity : 0;
}
}
@media ( min-width : 0 px ) and ( max-width : 319 px ){
a [ target = "_blank" ]{
position : absolute;
top : 20 px ;
left : 0 ;
z-index : 99 ;
}
} using StylesheetNET ;
CSSSheet sheet1 = new CSSSheet ( )
{
Charset = "UTF-8" ,
Root = new Root ( )
{
All = AllOptions . Unset ,
[ "--color" ] = "blue"
} ,
[ ".head .account" ] = new Element ( )
{
//Also u can write them this way too
//Height = new Height("10px"),
//Height = new Height(HeightOptions.Auto)
//Height = HeightOptions.Auto;
Height = "40px !important" ,
Width = "40px !important" ,
Position = PositionOptions . Absolute ,
Top = "12px" ,
Left = "15px" ,
BorderRadius = "20px" ,
Border = "2px #837A78 solid" ,
Display = DisplayOptions . Flex ,
JustifyContent = JustifyContentOptions . Center ,
AlignItems = AlignItemsOptions . Center ,
Animation = "flash"
} ,
[ "#dot" ] = new ElementHover ( )
{
Height = "10px" ,
Width = "10px" ,
Position = PositionOptions . Absolute ,
Top = "16px" ,
Right = "13px" ,
BackgroundColor = "#F16842" ,
BorderRadius = "5px" ,
Display = DisplayOptions . Block
} ,
[ AtRuleType . MediaQuery ] = new MediaQuery ( new AtRule ( ) . MinWidth ( "0px" ) . And . MaxWidth ( "319px" ) )
{
[ "a[target= " _blank " ]" ] = new Element ( )
{
Position = PositionOptions . Absolute ,
Top = "20px" ,
Left = "0" ,
ZIndex = "99"
}
} ,
[ AtRuleType . Keyframes ] = new Keyframes ( "flash" )
{
[ "0%, 50%, to" ] = new Keyframe ( )
{
Opacity = "1"
} ,
[ "55%" ] = new Keyframe ( )
{
Opacity = "0.5"
} ,
[ "25%, 75%" ] = new Keyframe ( )
{
Opacity = "0"
}
}
} ;
sheet . AddFontFace ( "lilitaone-regular" , "font/lilitaone-regular.ttf" ) ; styleSheet.netからCSSをエクスポートする方法はいくつかあります。
string unminified_css = sheet1 ;
//or
string unminified_css = sheet1 . ToString ( ) ;
string minified_css = sheet1 . ToString ( true ) ;
//or
string unminified_css = sheet1 . GenerateCss ( ) ;
string minified_css = sheet1 . GenerateCss ( true ) ; Stylesheet.netはいくつかのコアコンポーネントに編成されており、それぞれが要件のスタイリング要素に特定の機能を提供します。
div 、 span 、 h1 、 id 、 class 、 Attributeなど、スタイルするHTML要素スタイルセレクターを表します。::before ::after after :hover 、 :focus 、focuse-elementsなどの一般的な擬似クラスを含みます。すべての要素とクラスの疑似が含まれています。@keyframes for Animations、 @mediaのようなディレクティブ、レスポンシブレイアウト、 @import 、 @layerなどの外部スタイルなどを使用して、カスタムスタイルまたは動作を定義できます。div 、 span 、 h1 、 id 、 class 、 Attributeなど、スタイルを整えるHTML要素スタイルセレクターを表します。すべての要素セレクタープロパティを収容します。
div {
height : 10 px ;
width : 10 px ;
position : absolute;
top : 16 px ;
right : 13 px ;
background-color : # F16842 ;
border-radius : 5 px ;
display : block;
} CSSSheet sheet = new CSSSheet ( )
{
[ "div" ] = new Element ( )
{
Height = "10px" ,
Width = "10px" ,
Position = PositionOptions . Absolute ,
Top = "16px" ,
Right = "13px" ,
BackgroundColor = "#F16842" ,
BorderRadius = "5px" ,
Display = DisplayOptions . Block
}
}StyleySheet.netを使用すると、カスタムプロパティを追加することもできます。
CSSSheet sheet = new CSSSheet ( )
{
[ "div" ] = new Element ( )
{
Height = "10px" ,
//Width = "10px",
[ "width" ] = "10px" ,
[ "my_custom_property" ] = "some css values"
}
}ほとんどすべてのプロパティは、実際には、文字列と特定の列挙オプションを暗黙的に受け入れるクラスオブジェクトです。
各プロパティは4つの方法で記述できます。
例:
Height = new Height ( "10px" ) Height = "10px" Height = new Height ( HeightOptions . Auto ) Height = HeightOptions . Auto ;すべてのプロパティ列挙オプションは、プロパティの名前から始まり、その後
Optionsが続きます。例:Height + Options = HeightOptions。すべてのプロパティには、事前定義されたCSSキーワードを表す列挙オプションがあります。
styleSheet.netは、CSSの擬似クラスと擬似要素を広範囲にサポートし、状態または相互作用に基づいた要素のスタイルを定義できるようにします。
すべての偽は、要素から始まり、擬似タイプによってfolowedされます。
例:
ElementHover、ElementAfter、ElementNthChildなど。
例
div : hover {
color : red;
}
p :: after {
content : "Some contents" ;
width : 50 px ;
height : 75 px ;
}
. list : nth-child ( 3 ){
background-color : blue;
}
. text : not (. sup , p ){
text-align
: right;
} CSSSheet sheet1 = new CSSSheet ( )
{
[ "div" ] = new ElementHover ( )
{
Color = "red"
} ,
[ "p" ] = new ElementAfter ( )
{
Content = " " Some contents " " ,
Width = "50px" ,
Height = "75px"
} ,
[ ".list" ] = new ElementNthChild ( 3 )
{
BackgroundColor = "blue"
} ,
[ ".text" ] = new ElementNot ( ".sup, p" )
{
TextAlign = TextAlignOptions . Right
}
} ; AT-RULEは、アニメーションの@keyframesなどのディレクティブ、レスポンシブレイアウトの@media 、外部スタイルなどを含めるための@importと@layerなどのディレクティブを使用して、カスタムスタイルまたは動作を定義できます。
メディアクエリは、レスポンシブWebデザインの重要なコンポーネントです。さまざまなビューポートサイズに適応する動的レイアウトの作成を可能にし、さまざまなデバイスで最適なユーザーエクスペリエンスを確保します。
styleSheet.netでは、メディアクエリを2つの方法で定義できます。
アットルールビルダー
AT-Rule Builderは、コードチェーンパターンを使用してカスタムルールを定義するのに役立ちます。
At-Rule Builder Implicityは文字列に変換されるため、stringにキャストしたり変換したりする必要はありません。
string condition = new AtRule ( ) . Screen . And . MinWidth ( "0px" ) . And . MaxWidth ( "319px" ) ;
//Will give you:
// screen and (min-width: 0px) and (max-width: 319px)At-Rule Builderでメディアクエリを作成しましょう。
@media only screen and ( max-width : 600 px ){
div {
width : 100 % ;
height : 100 % ;
display : grid;
}
} CSSSheet sheet1 = new CSSSheet ( )
{
[ AtRuleType . MediaQuery ] = new MediaQuery ( new AtRule ( ) . Only . Screen . And . MaxWidth ( "600px" ) )
{
[ "div" ] = new Element ( )
{
Width = "100%" ,
Height = "100%" ,
Display = DisplayOptions . Grid
}
}
} ;AT-Rule Builderには、すべてのCSSルールが実装されています。長さが制限なしで必要に応じてチェーンできます。
At-Rule Builderを使用したくない場合は、独自のCSSルール/条件を文字列として配置できます。
@media only screen and ( max-width : 600 px ){
div {
width : 100 % ;
height : 100 % ;
display : grid;
}
} CSSSheet sheet1 = new CSSSheet ( )
{
[ AtRuleType . MediaQuery ] = new MediaQuery ( "only screen and (max-width: 600px)" )
{
[ "div" ] = new Element ( )
{
Width = "100%" ,
Height = "100%" ,
Display = DisplayOptions . Grid
}
}
} ;ライブラリがあなたのためにそれを追加するので、
@mediaを追加しないでください。
@keyframes CSS AT-Ruleは、アニメーションシーケンス内の特定のポイントのスタイルを定義することにより、開発者が複雑なアニメーションを作成できるようになります。
styleSheet.netは、これを2つのKeyframesとKeyframeに分割します。
Keyframesオブジェクトは、ウェイポイントを保持するclassです。ウェイポイントは単一のKeyframeオブジェクトです。
一方のkeyframeは、単一のウェイポイントです。ウェイポイントは、これらのpercent 、またはto fromまたは組み合わせである任意の価値を持つことができます。
@Keyframes flash{
0% , 50% , to {
opacity : 1 ;
}
55% {
opacity : 0.5;
}
25% , 75% {
opacity : 0;
}
} CSSSheet sheet1 = new CSSSheet ( )
{
[ AtRuleType . Keyframes ] = new Keyframes ( "flash" )
{
[ "0%, 50%, to" ] = new Keyframe ( )
{
Opacity = "1"
} ,
[ "55%" ] = new Keyframe ( )
{
Opacity = "0.5"
} ,
[ "25%, 75%" ] = new Keyframe ( )
{
Opacity = "0"
}
}
} ; CSSの@import AT-Ruleは、外部スタイルシートから現在のスタイルシートにスタイルを含めることができます。
スタイルは、ローカルまたはURLからインポートできます。
@import 'path/file.css' ;
@import url ( 'someurl/file.css' ) ;
. head {
height : 40 px !important ;
width : 40 px !important ;
} CSSSheet sheet1 = new CSSSheet ( ) ;
sheet1 [ ".head" ] = new Element ( )
{
Height = "40px !important" ,
Width = "40px !important" ,
} ;
Import from_Path = new Import ( "path/file.css" ) ;
sheet1 . Import ( from_Path ) ;
Import from_url = new Import ( new Url ( "someurl/file.css" ) ) ;
sheet1 . Import ( from_url ) ;インポートを削除したり、すべてのインポートをクリアできます。
sheet . RemoveImport ( import_to_remove ) ; //remove an import
sheet . ClearImport ( ) ; //remove all imports CSSの@layer at-ruleは、カスケード層の概念を導入し、開発者が複数のCSSルールが同じ要素に適用される場合のスタイルの優先順位を定義できるようにします。
styleSheet.netは次のような高度な機能を提供します。
@layer layer1 {
@layer layer2 {
. head {
display : flex;
}
}
. head {
height : 100 % ;
width : 100 % ;
}
}
@layer layer3 {
. head {
display : block;
}
}
. head {
height : 40 px !important ;
width : 40 px !important ;
} CSSSheet sheet1 = new CSSSheet ( ) ;
sheet1 [ ".head" ] = new Element ( )
{
Height = "40px !important" ,
Width = "40px !important" ,
} ;
Layer layer1 = new Layer ( )
{
[ ".head" ] = new Element ( )
{
Height = "100%" ,
Width = "100%" ,
}
} ;
Layer layer2 = new Layer ( )
{
[ ".head" ] = new Element ( )
{
Display = DisplayOptions . Flex
}
} ;
Layer layer3 = new Layer ( )
{
[ ".head" ] = new Element ( )
{
Display = DisplayOptions . Block
}
} ;
layer1 . AddLayer ( "layer2" , layer2 ) ; //nest layer2 in layer1
sheet1 . AddLayer ( "layer1" , layer1 ) ; //add layer1 to sheet1
sheet1 . AddLayer ( "layer3" , layer3 ) ; //add layer3 to sheet1レイヤーを削除したり、すべてのレイヤーをシートまたはレイヤーにクリアできます。基礎となるレイヤーまたはレイヤー名でレイヤーを削除できます。
layer1 . RemoveLayer ( "layer2" ) ;
sheet . RemoveLayer ( "layer1" ) ;
sheet . RemoveLayer ( "layer3" ) ; @font-face CSS AT-Ruleを使用すると、開発者はWebページにカスタムフォントを追加できます。これらのフォントは、リモートサーバーまたはユーザーのデバイスにローカルにインストールされているフォントのいずれかからロードできます。
styleSheet.netを使用すると、2つの方法でカスタムフォントを追加できます。
@font-face {
font-family : "lilitaone-regular" ;
src : url ( 'font/lilitaone-regular.ttf' );
}
@font-face {
font-family : "NoyhR-Black" ;
src : url ( "font/Noyh R Bold/NoyhR-Black.ttf" ) format ( "truetype" );
}
. head {
height : 40 px !important ;
width : 40 px !important ;
} CSSSheet sheet1 = new CSSSheet ( ) ;
sheet1 [ ".head" ] = new Element ( )
{
Height = "40px !important" ,
Width = "40px !important" ,
} ;
sheet1 . AddFontFace ( "lilitaone-regular" , "font/lilitaone-regular.ttf" ) ;
Dictionary < string , string > _font = new Dictionary < string , string > ( )
{
{ "font-family" , " " NoyhR-Black " " } ,
{ "src" , "url( " font/Noyh R Bold/NoyhR-Black.ttf " ) format( " truetype " )" }
} ;
sheet1 . AddFontFace ( _font ) ;FontfamilyでFontfaceを削除するか、すべてをクリアできます。
sheet1 . RemoveFontFace ( "lilitaone-regular" ) ;
sheet1 . ClearFontFace ( ) ; このガイドは、 styleSheet.netの基本をカバーしています。詳細を学び、その完全な機能を発見するには、さまざまな機能を実験して調査してください。