प्रौद्योगिकी साझेदारी

WebKit इत्यस्य Flexbox समर्थनस्य गहनसमझः: लेआउट् अनुकूलनं व्यावहारिकमार्गदर्शकं च

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

आमुख

Flexbox (Flexible Box Layout Module) एकः आधुनिकः CSS लेआउट् पैटर्न् अस्ति यः भिन्न-भिन्न-स्क्रीन् आकारेषु उपकरणेषु च पात्रस्य अन्तः वस्तूनि लेआउट्, संरेखणं, स्थानं आवंटयितुं च अधिक-कुशलं मार्गं प्रदाति, यद्यपि तेषां आकारः अज्ञातः अथवा गतिशीलरूपेण परिवर्तते WebKit इति एकं मुक्तस्रोतब्राउजरइञ्जिनं सफारी, मेल इत्यादिषु एप्पल् उत्पादेषु व्यापकरूपेण उपयुज्यते । अयं लेखः Flexbox कृते WebKit इत्यस्य समर्थने गहनं गोतां करोति तथा च केचन व्यावहारिकविन्यासस्य उदाहरणानि उत्तमप्रथाः च प्रदाति ।

Flexbox इत्यस्य मूलभूताः अवधारणाः

WebKit समर्थने गोतां कर्तुं पूर्वं प्रथमं Flexbox इत्यस्य काश्चन मूलभूतसंकल्पनाः अवगच्छामः:

  • पात्रम्:उपयुञ्जताम्‌ display: flex; वाdisplay: inline-flex; घोषित तत्त्व।
  • मदा: पात्रस्य अन्तः बालतत्त्वानि प्रत्यक्षयन्तु।
  • मुख्य अक्ष:आश्रित्य flex-direction गुणपरिभाषा, क्षैतिजः लम्बवत् वा भवितुम् अर्हति ।
  • क्रॉस अक्ष: मुख्याक्षस्य लम्बः अक्षः ।
  • लचीलापनम्: परियोजना आधारित flex अतिरिक्तस्थानं आवंटयितुं सम्पत्तिस्य क्षमता।

Flexbox कृते WebKit समर्थनम्

WebKit इञ्जिन् प्रारम्भिकसंस्करणात् एव Flexbox विन्यासानां समर्थनं कृतवान् अस्ति । कालान्तरे सर्वाणि Flexbox गुणाः कार्यक्षमतां च समाविष्टुं समर्थनं परिपक्वम् अभवत् । अत्र केचन प्रमुखगुणाः WebKit मध्ये तेषां उपयोगः च अस्ति ।

  • flex-direction: मुख्याक्षस्य दिशां परिभाषयन्तु।
  • justify-content: मुख्याक्षे द्रव्यस्य संरेखणं परिभाषयति ।
  • align-items: क्रॉस् अक्षे द्रव्याणां संरेखणं परिभाषयति ।
  • align-content: क्रॉस् अक्षे बहुरेखावस्तूनाम् संरेखणं परिभाषयन्तु।
  • flex-wrap: परिभाषयतु यत् द्रव्यं लपेटितुं शक्नोति वा।
  • flex: परियोजनायाः मापनीयतां परिभाषयति ।

नमूना कोड

अत्र सरलं Flexbox विन्यासस्य उदाहरणम् अस्ति यत् WebKit द्वारा समर्थितानां Flexbox गुणानाम् उपयोगः कथं करणीयः इति दर्शयति:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flexbox Example</title>
<style>
  .flex-container {
    display: flex;
    flex-direction: row; /* 或 column */
    justify-content: space-between;
    align-items: center;
    background-color: #f1f1f1;
    padding: 10px;
  }
  .flex-item {
    background-color: dodgerblue;
    color: white;
    margin: 10px;
    padding: 20px;
    font-size: 30px;
  }
</style>
</head>
<body>

<div class="flex-container">
  <div class="flex-item">1</div>
  <div class="flex-item">2</div>
  <div class="flex-item">3</div>
</div>

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

Flexbox ब्राउज़र संगतता

यद्यपि WebKit पूर्वमेव Flexbox इत्यस्य पूर्णतया समर्थनं करोति तथापि भिन्न-भिन्न-ब्राउजर्-इञ्जिनेषु समर्थनस्य भिन्न-स्तरः भवितुम् अर्हति ।उपयुञ्जताम्‌किं अहं उपयोक्तुं शक्नोमि ऑनलाइन-उपकरणानाम् उपयोगेन भिन्न-भिन्न-ब्राउजर्-द्वारा Flexbox-समर्थनं पश्यितुं शक्नुवन्ति ।

ब्राउजर् उपसर्गः

Flexbox इत्यस्य आरम्भिकेषु दिनेषु केषुचित् ब्राउजर् मध्ये Flexbox गुणानाम् उपयोगाय विशिष्टानि उपसर्गाणि आवश्यकानि आसन् ।यथा, WebKit इत्यस्य पूर्वसंस्करणानाम् आवश्यकता भवेत्-webkit- उपसर्गः : १.

.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
}
  • 1
  • 2
  • 3
  • 4

परन्तु Flexbox CSS मानकस्य भागः जातः, अधिकांश आधुनिक ब्राउजर् कृते एतेषां उपसर्गाणां आवश्यकता नास्ति ।

Flexbox इत्यस्य उन्नताः अनुप्रयोगाः

Flexbox न केवलं सरलविन्यासानां कृते उपयुक्तः, अपितु अधिकजटिलविन्यासप्रतिमानानाम् कृते अपि उपयोक्तुं शक्यते । अत्र केचन उन्नताः अनुप्रयोगोदाहरणानि सन्ति ।

  • बहुपङ्क्तिविन्यासः:उपयुञ्जताम्‌ flex-wrap: wrap; वस्तूनि वेष्टयितुं अनुमतिं दातुं।
  • संरेखणं वितरणं च:उपयुञ्जताम्‌ justify-content तथाalign-items वस्तूनि संरेखयितुं वितरितुं च।
  • स्वचालित मार्जिन:उपयुञ्जताम्‌ margin: auto; स्वयमेव वस्तूनाम् स्थितिं समायोजयितुं ।
  • flex परियोजना:उपयुञ्जताम्‌ flex-grow, flex-shrink, तथा flex-basis परियोजनायाः मापनीयतां नियन्त्रयितुं ।

उदाहरणम् : बहुपङ्क्तिविन्यासः

<div class="flex-container multi-row">
  <div class="flex-item">Item 1</div>
  <div class="flex-item">Item 2</div>
  <!-- 更多项目 -->
</div>
  • 1
  • 2
  • 3
  • 4
  • 5
.multi-row {
  flex-wrap: wrap;
}
  • 1
  • 2
  • 3

Flexbox सर्वोत्तम अभ्यास

Flexbox इत्यस्य उपयोगं कुर्वन् केचन उत्तमाः अभ्यासाः अत्र सन्ति ।

  1. अतिप्रयोगं परिहरन्तु: यद्यपि Flexbox शक्तिशाली अस्ति तथापि अतिप्रयोगेन विन्यासाः जटिलाः भवितुम् अर्हन्ति ।
  2. सुलभतां विचारयन्तु: सुनिश्चितं कुर्वन्तु यत् भवतः विन्यासः भिन्न-भिन्न-यन्त्रेषु, स्क्रीन-आकारेषु च सुलभः एव तिष्ठति ।
  3. सापेक्षिकैककानां प्रयोगं कुर्वन्तु:उपयुञ्जताम्‌ em, rem, vh, vw विन्यासप्रतिसादं सुधारयितुम् सापेक्षिक-एककानां प्रतीक्षां कुर्वन्तु ।
  4. ब्राउजर् संगततायाः परीक्षणं कुर्वन्तु: संगततां सुनिश्चित्य विभिन्नेषु ब्राउजर्-यन्त्रेषु विन्यासस्य परीक्षणं कुर्वन्तु ।
  5. CSS पूर्वसंसाधकानां उपयोगं कुर्वन्तु: Sass अथवा LESS इत्यादीनां पूर्वसंसाधकानां उपयोगेन Flexbox इत्यस्य उपयोगः सरलः भवितुम् अर्हति ।

उपसंहारे

Flexbox कृते WebKit इत्यस्य समर्थनं विकासकान् लचीलं प्रतिक्रियाशीलं च विन्यासं निर्मातुं एकं शक्तिशालीं साधनं प्रदाति । Flexbox इत्यस्य मूलभूतसंकल्पनाः अवगत्य, तस्य गुणानाम् उपयोगे निपुणतां प्राप्य, उत्तमप्रथानां अनुसरणं कृत्वा, विकासकाः जालपुटविन्यासान् निर्मातुं शक्नुवन्ति ये सुन्दराः कार्यात्मकाः च भवन्ति यथा यथा जालप्रौद्योगिकी विकसिता भवति तथा तथा Flexbox अग्रे-अन्त-विकासस्य अभिन्नः भागः भविष्यति ।

सन्दर्भाः

  • CSS Flexbox विनिर्देशः: https://www.w3.org/TR/css-flexbox-1/
  • WebKit विकासकमार्गदर्शिका: https://webkit.org/developer/
  • किं अहं Flexbox:https://caniuse.com/#feat=flexbox इत्यस्य उपयोगं कर्तुं शक्नोमि

अस्य लेखस्य गहनचर्चाद्वारा पाठकानां WebKit इत्यस्य Flexbox समर्थनस्य व्यापकबोधः भवितुमर्हति तथा च वास्तविकजालपृष्ठविन्यासे तत् प्रयोक्तुं समर्थाः भवेयुः