CssInCSharp 0.1.0-nightly-231222093849
CssInCSharp
A lib for generating Style Sheets with C#.
For documentation see our docs.
Getting started
dotnet add package CssInCSharp
Usage
<div class="basic">
<div class="title">Title</div>
<button class="button">Click</button>
</div>
<style>
@_css
</style>
@code
{
private string _css = string.Empty;
protected override void OnInitialized()
{
_css = new CSSObject
{
[".basic"] = new CSSObject
{
Width = "300px",
Height = "300px",
Border = "1px solid #DDD",
["& .title"] = new CSSObject
{
LineHeight = "20px",
Color = "red"
},
["& .button"] = new CSSObject
{
Width = "100%",
Height = "20px",
TextAlign = "center",
["&:hover"] = new CSSObject
{
Color = "blue"
}
}
}
}.ToString();
}
}
For other examples, you can check out the example code.
Css Compiler
The CssInCSharp is similar to less or sass. You can simply convert you style file into C# class, so that you can make full use of the C# language features to generate style content.
Benchmark
BenchmarkDotNet=v0.13.5, OS=Windows 11 (10.0.22621.1702/22H2/2022Update/SunValley2)
AMD Ryzen 7 5700G with Radeon Graphics, 1 CPU, 16 logical and 8 physical cores
.NET SDK=7.0.203
[Host] : .NET 7.0.5 (7.0.523.17405), X64 RyuJIT AVX2
DefaultJob : .NET 7.0.5 (7.0.523.17405), X64 RyuJIT AVX2
Method | Mean | Error | StdDev | Median | Gen0 | Gen1 | Allocated |
---|---|---|---|---|---|---|---|
CreateCss | 39.71 μs | 0.789 μs | 1.595 μs | 38.98 μs | 17.6392 | 1.0376 | 144.29 KB |
.NET 5.0
- Microsoft.AspNetCore.Components.Web (>= 5.0.0)
.NET 6.0
- Microsoft.AspNetCore.Components.Web (>= 6.0.0)
.NET 7.0
- Microsoft.AspNetCore.Components.Web (>= 7.0.0)
.NET 8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.0)
.NET Standard 2.1
- Microsoft.AspNetCore.Components.Web (>= 3.1.0)
Version | Last updated |
---|---|
0.1.0-nightly-250415064636 | 04/15/2025 |
0.1.0-nightly-240716071233 | 04/13/2025 |
0.1.0-nightly-240715081344 | 03/29/2025 |
0.1.0-nightly-240712075841 | 03/31/2025 |
0.1.0-nightly-240710022306 | 03/29/2025 |
0.1.0-nightly-240710013120 | 03/30/2025 |
0.1.0-nightly-240628091509 | 03/29/2025 |
0.1.0-nightly-240625033115 | 03/29/2025 |
0.1.0-nightly-240529041709 | 03/31/2025 |
0.1.0-nightly-240529014856 | 03/29/2025 |
0.1.0-nightly-240528100520 | 03/30/2025 |
0.1.0-nightly-240110064300 | 03/31/2025 |
0.1.0-nightly-231229073125 | 03/31/2025 |
0.1.0-nightly-231229024140 | 03/30/2025 |
0.1.0-nightly-231225064316 | 03/31/2025 |
0.1.0-nightly-231222093849 | 04/01/2025 |
0.1.0-nightly-231218032026 | 03/30/2025 |
0.1.0-nightly-231215093440 | 03/31/2025 |
0.1.0-nightly-231214104150 | 03/31/2025 |
0.1.0-nightly-231213123405 | 03/31/2025 |
0.1.0-nightly-231212143446 | 03/31/2025 |
0.1.0-nightly-231211073331 | 03/31/2025 |
0.1.0-nightly-231202142232 | 03/31/2025 |
0.1.0-nightly-231202062218 | 04/01/2025 |
0.1.0-nightly-231202054543 | 03/31/2025 |