Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
@use'sass:map'; // Only when using Sass maps@import'./new-settings'; // or component-specific variables file@import'./mixins';
$block: #{$fd-namespace}-component-name;
$other-component: #{$fd-namespace}-other-component; // If referencing classes// Component-specific variables/maps here$fd-component-sizes: (
's': (
...
),
'm': (
...
)
);
.#{$block} {
// Component styles
}
3. Reset Mixin Rules
The @include fd-reset(); mixin is MANDATORY:
.#{$block} {
@include fd-reset(); // ✅ ALWAYS at start of block
&__element {
@include fd-reset(); // ✅ ALWAYS for every element
}
&__another-element {
@include fd-reset(); // ✅ Every element needs it
}
&--modifier {
// ❌ NEVER use fd-reset() for modifiers--fdComponent_Property: new-value;
}
}
Why:
Resets browser default styles
Ensures consistent baseline
Prevents inheritance issues
Modifiers only override, so they don't need reset
4. CSS Custom Properties (Variables) Pattern
Use CSS variables for ALL state variations and customization:
For cases where logical properties aren't sufficient, use provided mixins:
.#{$block} {
// RTL-aware positioning@include fd-set-position-right(1rem); // right in LTR, left in RTL@include fd-set-position-left(1rem); // left in LTR, right in RTL// RTL-aware margins@include fd-set-margin-right(1rem); // margin-right in LTR, margin-left in RTL@include fd-set-margin-left(1rem); // margin-left in LTR, margin-right in RTL// RTL-aware padding@include fd-set-padding-right(1rem); // padding-right in LTR, padding-left in RTL@include fd-set-padding-left(1rem); // padding-left in LTR, padding-right in RTL// RTL-specific styles@include fd-rtl() {
direction: rtl;
text-align: right;
}
}
Borders - Use Logical Properties
Border logical properties also handle RTL automatically:
✅ DO - Use logical border properties:
.#{$block} {
// All bordersborder: 0.0625rem solid var(--sapTile_BorderColor);
// Inline borders (horizontal - auto RTL)border-inline: 0.0625rem solid var(--sapTile_BorderColor);
border-inline-start: 0.0625rem solid var(--sapTile_BorderColor); // left in LTR, right in RTLborder-inline-end: 0.0625rem solid var(--sapTile_BorderColor); // right in LTR, left in RTL// Block borders (vertical)border-block: 0.0625rem solid var(--sapTile_BorderColor);
border-block-start: 0.0625rem solid var(--sapTile_BorderColor); // topborder-block-end: 0.0625rem solid var(--sapTile_BorderColor); // bottom// Border radius (use logical order)border-start-start-radius: 0.5rem; // top-left in LTR, top-right in RTLborder-start-end-radius: 0.5rem; // top-right in LTR, top-left in RTLborder-end-start-radius: 0.5rem; // bottom-left in LTR, bottom-right in RTLborder-end-end-radius: 0.5rem; // bottom-right in LTR, bottom-left in RTL
}
// ❌ WRONG - Repetitive
.#{$block}--accent-color-1 {
--fdAvatar_Color: var(--sapAccentColor1);
}
.#{$block}--accent-color-2 {
--fdAvatar_Color: var(--sapAccentColor2);
}
.#{$block}--accent-color-3 {
--fdAvatar_Color: var(--sapAccentColor3);
}
// ... 10 more copies// ✅ RIGHT - Use a loop@each$num in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) {
.#{$block}--accent-color-#{$num} {
--fdAvatar_Color: var(--sapAccentColor#{$num});
}
}
❌ Don't Use Directional Properties (Breaks RTL)
// ❌ WRONG - Not RTL-aware
.#{$block} {
margin-left: 1rem;
margin-right: 0.5rem;
padding-left: 1rem;
border-left: 0.0625rem solid var(--sapTile_BorderColor);
left: 0;
right: auto;
}
// ✅ RIGHT - Use logical properties
.#{$block} {
margin-inline-start: 1rem; // Auto RTLmargin-inline-end: 0.5rem; // Auto RTLpadding-inline-start: 1rem; // Auto RTLborder-inline-start: 0.0625rem solid var(--sapTile_BorderColor); // Auto RTLinset-inline-start: 0; // Auto RTLinset-inline-end: auto; // Auto RTL
}
// ✅ ALSO RIGHT - Use mixins when needed
.#{$block} {
@include fd-set-margin-left(1rem); // Auto RTL@include fd-set-position-right(0); // Auto RTL
}
❌ Don't Forget Logical Border Radius
// ❌ WRONG - Physical corners
.#{$block} {
border-top-left-radius: 0.5rem;
border-top-right-radius: 0.5rem;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
// ✅ RIGHT - Logical corners (when directional matters)
.#{$block} {
border-start-start-radius: 0.5rem; // top-left in LTR, top-right in RTLborder-start-end-radius: 0.5rem; // top-right in LTR, top-left in RTLborder-end-start-radius: 0; // bottom-left in LTR, bottom-right in RTLborder-end-end-radius: 0; // bottom-right in LTR, bottom-left in RTL
}
// ✅ BEST - When all corners are same, use shorthand
.#{$block} {
border-radius: 0.5rem0.5rem00; // Works in both LTR/RTL when symmetric
}
Remember: These standards exist to ensure consistency, maintainability, and accessibility across the entire fundamental-styles library. When in doubt, look at similar existing components for reference patterns.