সিএসএস ব্যবহার করে একটি ডিভ-এ উল্লম্বভাবে পাঠ্য কেন্দ্রীভূত করা

সিএসএস ব্যবহার করে একটি ডিভ-এ উল্লম্বভাবে পাঠ্য কেন্দ্রীভূত করা
সিএসএস ব্যবহার করে একটি ডিভ-এ উল্লম্বভাবে পাঠ্য কেন্দ্রীভূত করা

সিএসএস সহ একটি ডিভের ভিতরে পাঠ্যকে উল্লম্বভাবে কেন্দ্রীভূত করুন

একটি div-এর মধ্যে টেক্সট উল্লম্বভাবে সারিবদ্ধ করা ওয়েব ডিজাইনে একটি সাধারণ চ্যালেঞ্জ হতে পারে। পাঠ্যটি নিখুঁতভাবে কেন্দ্রীভূত করা নিশ্চিত করা আপনার সামগ্রীর নান্দনিকতা এবং পাঠযোগ্যতা উন্নত করতে পারে।

এই নিবন্ধে, আমরা CSS ব্যবহার করে একটি div-এর মধ্যে টেক্সটকে উল্লম্ব কেন্দ্রীভূত করার জন্য বিভিন্ন পদ্ধতি অন্বেষণ করব। আমরা একটি সাধারণ উদাহরণ দিয়ে শুরু করব এবং তারপরে বিভিন্ন ব্রাউজার এবং ডিভাইস জুড়ে সামঞ্জস্যতা নিশ্চিত করতে আরও উন্নত কৌশলগুলি অনুসন্ধান করব।

আদেশ বর্ণনা
display: flex; ফ্লেক্সবক্স লেআউটের ব্যবহার সক্ষম করে একটি ফ্লেক্স ধারক সংজ্ঞায়িত করে।
justify-content: center; অনুভূমিকভাবে ফ্লেক্স কন্টেইনারের মধ্যে ফ্লেক্স আইটেমগুলিকে কেন্দ্র করে।
align-items: center; ফ্লেক্স কন্টেইনারের মধ্যে ফ্লেক্স আইটেমগুলিকে উল্লম্বভাবে কেন্দ্র করে।
display: grid; গ্রিড লেআউট ব্যবহার সক্ষম করে একটি গ্রিড ধারক সংজ্ঞায়িত করে।
place-items: center; একটি গ্রিড পাত্রের মধ্যে আইটেমগুলিকে অনুভূমিকভাবে এবং উল্লম্বভাবে কেন্দ্র করে।
display: table; টেবিল লেআউট বৈশিষ্ট্য প্রয়োগ করার অনুমতি দিয়ে একটি টেবিল হিসাবে একটি উপাদান সংজ্ঞায়িত করে।
display: table-cell; উল্লম্ব প্রান্তিককরণ বৈশিষ্ট্য সক্রিয় করে, একটি টেবিল ঘর হিসাবে একটি উপাদানকে সংজ্ঞায়িত করে।
vertical-align: middle; উল্লম্বভাবে একটি টেবিল-কোষ উপাদানের মধ্যে বিষয়বস্তু কেন্দ্রীভূত করে।
line-height: 170px; কন্টেইনারের উচ্চতার সমান লাইনের উচ্চতা উল্লম্বভাবে কেন্দ্রে পাঠ্য সেট করে।

CSS এর সাথে টেক্সটকে উল্লম্বভাবে কেন্দ্রীভূত করার কৌশল

প্রথম স্ক্রিপ্ট উদাহরণে, আমরা ব্যবহার display: flex; একটি ফ্লেক্স ধারক সংজ্ঞায়িত করতে। এটি ফ্লেক্সবক্স লেআউট বৈশিষ্ট্য ব্যবহার করতে সক্ষম করে। সেট করে justify-content: center; এবং align-items: center;, আমরা অনুভূমিকভাবে এবং উল্লম্বভাবে পাঠ্যকে এর মধ্যে কেন্দ্র করতে পারি

উপাদান এই পদ্ধতিটি অত্যন্ত কার্যকর এবং প্রয়োগ করা সহজ, এটি আধুনিক ওয়েব ডিজাইনের জন্য একটি জনপ্রিয় পছন্দ করে তুলেছে। ফ্লেক্সবক্স এর প্রতিক্রিয়াশীলতা এবং সারিবদ্ধকরণের সহজতার জন্য বিশেষভাবে উপযোগী, যা ডেভেলপারদের এমন লেআউট তৈরি করতে দেয় যা বিভিন্ন স্ক্রীনের মাপ এবং অভিযোজনের সাথে মানিয়ে যায়।

দ্বিতীয় স্ক্রিপ্ট উদাহরণ ব্যবহার করে CSS গ্রিড লেআউট নিয়োগ করে display: grid;. সেট করে place-items: center;, পাঠ্যটি গ্রিড কন্টেইনারের মধ্যে অনুভূমিকভাবে এবং উল্লম্বভাবে কেন্দ্রীভূত হয়। CSS গ্রিড প্রথাগত পদ্ধতির তুলনায় ওয়েব লেআউট ডিজাইন করার জন্য আরও শক্তিশালী এবং নমনীয় সিস্টেম অফার করে। এটি সহজে জটিল, প্রতিক্রিয়াশীল ডিজাইন তৈরি করার ক্ষমতা প্রদান করে। দ্য place-items: center; কমান্ড হল উল্লম্ব এবং অনুভূমিক কেন্দ্রীকরণ অর্জনের একটি সংক্ষিপ্ত উপায়, কোডটি সরল করা এবং পঠনযোগ্যতা উন্নত করা।

উল্লম্ব কেন্দ্রীকরণের জন্য উন্নত CSS কৌশল

তৃতীয় স্ক্রিপ্টে, আমরা টেবিল প্রদর্শন পদ্ধতি ব্যবহার করি। বিন্যাস display: table; পাত্রে এবং display: table-cell; দিয়ে তৈরি একটি ছদ্ম-উপাদানের উপর ::before আমাদের ব্যবহার করার অনুমতি দেয় vertical-align: middle; সম্পত্তি এই পদ্ধতিটি টেবিল কক্ষের আচরণকে অনুকরণ করে, যার ফলে বিষয়বস্তুকে উল্লম্বভাবে কেন্দ্রীভূত করা সম্ভব হয়। যদিও এই পদ্ধতিটি আধুনিক ওয়েব ডিজাইনে কম ব্যবহৃত হয়, এটি পুরানো ব্রাউজারগুলির সাথে সামঞ্জস্য বজায় রাখার জন্য বা লিগ্যাসি কোডের সাথে কাজ করার সময় কার্যকর হতে পারে। এটি নতুন লেআউট সিস্টেমের উপর নির্ভর না করে বিষয়বস্তু কেন্দ্রে একটি নির্ভরযোগ্য উপায় প্রদান করে।

চতুর্থ স্ক্রিপ্ট উদাহরণ ব্যবহার করে line-height সম্পত্তি সেট করে line-height ধারকটির উচ্চতার সমান, পাঠ্যটি উল্লম্বভাবে কেন্দ্রীভূত। এই কৌশলটি একক-লাইন পাঠ্যের জন্য সহজবোধ্য এবং কার্যকর। যাইহোক, এটি বহু-লাইন পাঠ্য বা গতিশীল বিষয়বস্তুর জন্য উপযুক্ত নাও হতে পারে যেখানে কন্টেইনারের উচ্চতা পরিবর্তিত হতে পারে। তার সীমাবদ্ধতা সত্ত্বেও, line-height পদ্ধতিটি সহজ পরিস্থিতিতে পাঠ্যকে উল্লম্বভাবে কেন্দ্রীভূত করার জন্য একটি দ্রুত এবং সহজ সমাধান।

উল্লম্ব কেন্দ্রীকরণের জন্য ফ্লেক্সবক্স ব্যবহার করা

সিএসএস ফ্লেক্সবক্স

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>

উল্লম্ব কেন্দ্রীকরণের জন্য গ্রিড ব্যবহার করা

CSS গ্রিড

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: grid;
  place-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>

উল্লম্ব কেন্দ্রীকরণের জন্য টেবিল ডিসপ্লে ব্যবহার করা

CSS টেবিল ডিসপ্লে

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: table;
}
#box::before {
  content: "";
  display: table-cell;
  vertical-align: middle;
}
#box > div {
  display: inline-block;
  vertical-align: middle;
}
<div id="box"><div>Lorem ipsum dolor sit</div></div>

উল্লম্ব কেন্দ্রীকরণের জন্য লাইনের উচ্চতা ব্যবহার করা

CSS লাইনের উচ্চতা

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  line-height: 170px;
  text-align: center;
}
<div id="box">Lorem ipsum dolor sit</div>

উল্লম্ব কেন্দ্রীকরণের জন্য CSS ট্রান্সফর্ম অন্বেষণ করা হচ্ছে

a এর মধ্যে টেক্সটকে উল্লম্বভাবে কেন্দ্রীভূত করার জন্য আরেকটি কার্যকর পদ্ধতি div CSS ব্যবহার করছে transform সম্পত্তি মিশ্রন দ্বারা position: absolute; সঙ্গে transform: translateY(-50%);, আমরা সুনির্দিষ্ট উল্লম্ব প্রান্তিককরণ অর্জন করতে পারি। প্রথম, দ div তৈরি position: relative; একটি রেফারেন্স পয়েন্ট হিসাবে কাজ করতে। তারপর, সঙ্গে একটি শিশু উপাদান position: absolute; মূল কন্টেইনারের শীর্ষ 50% এ অবস্থান করা হয়। অবশেষে, আবেদন transform: translateY(-50%); উপাদানটিকে তার নিজস্ব উচ্চতার অর্ধেক উপরে নিয়ে যায়, পুরোপুরি উল্লম্বভাবে কেন্দ্র করে।

এই পদ্ধতিটি দুর্দান্ত নমনীয়তা প্রদান করে এবং পাঠ্য এবং চিত্র সহ বিভিন্ন ধরণের সামগ্রীর জন্য ভাল কাজ করে। গতিশীল বিষয়বস্তু নিয়ে কাজ করার সময় এটি বিশেষভাবে কার্যকর, কারণ বিষয়বস্তুর উচ্চতা নির্বিশেষে কেন্দ্রীভূত প্রভাব সামঞ্জস্যপূর্ণ থাকে। উপরন্তু, সমন্বয় transform অন্যান্য CSS বৈশিষ্ট্য সহ আরও জটিল এবং সৃজনশীল লেআউট ডিজাইনের অনুমতি দেয়। যদিও এই পদ্ধতির জন্য ফ্লেক্সবক্স বা গ্রিডের তুলনায় একটু বেশি কোডের প্রয়োজন, এটি উপাদানগুলির অবস্থানের উপর সুনির্দিষ্ট নিয়ন্ত্রণ প্রদান করে।

CSS-এ উল্লম্ব কেন্দ্রীকরণ সম্পর্কে সাধারণ প্রশ্ন

  1. একটি div এ উল্লম্বভাবে কেন্দ্র পাঠের সবচেয়ে সহজ উপায় কি?
  2. ব্যবহার display: flex; সঙ্গে justify-content: center; এবং align-items: center; প্রায়শই সবচেয়ে সহজ এবং সবচেয়ে কার্যকর পদ্ধতি।
  3. পুরানো ব্রাউজারগুলিতে আপনি কীভাবে উল্লম্বভাবে পাঠ্যকে কেন্দ্র করেন?
  4. সঙ্গে টেবিল প্রদর্শন পদ্ধতি ব্যবহার করে display: table; এবং vertical-align: middle; পুরানো ব্রাউজারগুলিতে উল্লম্ব কেন্দ্রীকরণ অর্জনে সহায়তা করতে পারে।
  5. CSS গ্রিড কি উল্লম্বভাবে পাঠ্য কেন্দ্রে ব্যবহার করা যেতে পারে?
  6. হ্যাঁ, CSS গ্রিড টেক্সটকে উল্লম্বভাবে কেন্দ্রীভূত করতে পারে display: grid; এবং place-items: center;.
  7. এটা কি উল্লম্বভাবে মাল্টি লাইন টেক্সট কেন্দ্র করা সম্ভব?
  8. হ্যাঁ, ফ্লেক্সবক্স বা সিএসএস গ্রিড ব্যবহার করে সহজেই বহু-লাইন পাঠ্যকে একটি পাত্রের মধ্যে উল্লম্বভাবে কেন্দ্রীভূত করা যায়।
  9. আপনি কিভাবে একটি পরিচিত পাত্রের উচ্চতা সহ পাঠ্যকে উল্লম্বভাবে কেন্দ্র করবেন?
  10. আপনি সেট করতে পারেন line-height টেক্সটকে কেন্দ্র করে কার্যকরীভাবে কন্টেইনারের উচ্চতার সাথে মেলে সম্পত্তি।
  11. ধারক উচ্চতা গতিশীল হলে কি হবে?
  12. ফ্লেক্সবক্স, গ্রিড বা ব্যবহার করে transform সম্পত্তি সুসংগত উল্লম্ব কেন্দ্রীকরণ নিশ্চিত করে, এমনকি গতিশীল ধারক উচ্চতা সহ।
  13. ব্যবহার করার কোন ত্রুটি আছে transform: translateY(-50%);?
  14. কার্যকর হলেও, এটি পিতামাতার কাছে থাকা প্রয়োজন position: relative; এবং ফ্লেক্সবক্স বা গ্রিডের তুলনায় প্রয়োগ করা কিছুটা জটিল হতে পারে।
  15. কিভাবে আপনি একটি প্রতিক্রিয়াশীল ডিজাইনে টেক্সটকে উল্লম্বভাবে কেন্দ্রীভূত করবেন?
  16. প্রতিক্রিয়াশীল ডিজাইনের জন্য ফ্লেক্সবক্স বা CSS গ্রিড ব্যবহার করা অত্যন্ত বাঞ্ছনীয়, কারণ এগুলি বিভিন্ন স্ক্রীনের আকার এবং অভিযোজনের সাথে ভালভাবে মানিয়ে নেয়।

উল্লম্ব কেন্দ্রে চূড়ান্ত চিন্তা

একটি div-এর মধ্যে পাঠ্যের উল্লম্ব কেন্দ্রীকরণ অর্জন বেশ কয়েকটি কার্যকর পদ্ধতির মাধ্যমে সম্পন্ন করা যেতে পারে। ফ্লেক্সবক্স এবং গ্রিডের মতো আধুনিক কৌশলগুলি সবচেয়ে নমনীয়তা এবং বাস্তবায়নের সহজতা প্রদান করে। পুরানো পদ্ধতি, যেমন টেবিল প্রদর্শন এবং লাইন-উচ্চতা, এখনও নির্দিষ্ট ক্ষেত্রে কার্যকর হতে পারে। এই ভিন্ন পন্থাগুলি বোঝার এবং প্রয়োগ করার মাধ্যমে, বিকাশকারীরা নিশ্চিত করতে পারে যে তাদের বিষয়বস্তু দৃশ্যত আকর্ষণীয় এবং বিভিন্ন ডিভাইস এবং ব্রাউজার জুড়ে সঠিকভাবে সারিবদ্ধ।