مميز

Styled-Components

مكتبة CSS-in-JS (CSS-in-JS Library)

(5/5)
👁️ 4 مشاهدة
📅 02 Jul 2026
⚛️ React

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
5
تقييم المستخدمين
التصنيف ✨ Styling
المشاهدات 4
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

Styled-Components هي مكتبة CSS-in-JS تسمح بكتابة CSS مباشرة داخل ملفات JavaScript/TypeScript. تستخدم tagged template literals لإنشاء مكونات React مع scoped styles. كل مُكوّن يحمل الـ styles الخاصة به فقط. تُستخدم بشكل رئيسي مع React. توفر dynamic styles بسهولة، theming system، وautomatic critical C...

🎯 يستخدم في

مجالات استخدام هذه الأداة

React applications

Styled components مع dynamic props

Theme systems

Component-scoped CSS

Applications تحتاج لـ CSS-in-JS

المميزات

أبرز مميزات هذه الأداة

CSS داخل JavaScript/TypeScript

Component-scoped styles تلقائياً

Dynamic styles عبر props

Theming system قوي

Automatic critical CSS

Server-side rendering

TypeScript support

Large community

⚠️ العيوب

نقاط يجب مراعاتها

×

Runtime overhead (يُجمع في وقت التشغيل)

×

ملفات كبيرة مع الـ styles

×

Performance أقل من zero-runtime alternatives

×

Bundle size أكبر من Vanilla Extract

×

Limited framework support (React-focused)

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Emotion
Vanilla Extract
CSS Modules

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import styled, { css, keyframes } from 'styled-components';

// Basic styled component
const Button = styled.button`
  background: #3498db;
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  
  &:hover {
    background: #2980b9;
  }
`;

// Dynamic styles via props
const Card = styled.div`
  padding: ${(props) => props.padding || '16px'};
  background: ${(props) => props.primary ? '#3498db' : '#f0f0f0'};
  border-radius: 8px;
  
  ${(props) => props.highlighted && css`
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
  `}
`;

// Animations
const fadeIn = keyframes`
  from { opacity: 0; }
  to { opacity: 1; }
`;

const Modal = styled.div`
  animation: ${fadeIn} 0.3s ease-in;
  padding: 24px;
`;

// Theme
import { ThemeProvider } from 'styled-components';

const theme = {
  colors: {
    primary: '#3498db',
    secondary: '#2ecc71',
  },
};

const ThemedButton = styled.button`
  background: ${(props) => props.theme.colors.primary};
  color: white;
`;

function App() {
  return (
    <ThemeProvider theme={theme}>
      <ThemedButton>زر مع الثيم</ThemedButton>
    </ThemeProvider>
  );
}

📚 أدوات أخرى في Styling

قد يعجبك أيضاً