CSS-এর অবস্থান
- পূর্ববর্তী পৃষ্ঠা CSS বাহ্যিক মাঝামাঝি মিশ্রণ
- পরবর্তী পৃষ্ঠা CSS সম্পর্কিত অবস্থান
CSS-এর অবস্থান (Positioning) গুণটি আপনাকে ইউনিটকে অবস্থান নির্ধারণ করতে সহায়তা করে
CSS-এর অবস্থান ও ফ্লোটিং
CSS-এর অবস্থান ও ফ্লোটিং জন্য কিছু গুণ রয়েছে, এই গুণগুলির মাধ্যমে কলমাকার সাজুকরণ তৈরি করা যায়, একটি সাজুকরণের অংশকে আরেকটি অংশের ওপর সাজিয়ে রাখা যায়, এবং দীর্ঘদিন ধরে একাধিক ট্যাবলের সাহায্য করে সাধারণত করা হতো কাজকর্মকেও সম্পন্ন করা যায়。
অবস্থানের মূল ধারণা অত্যন্ত সরল, তা আপনাকে অংশবিশেষের কাঠামোকে তার স্বাভাবিক অবস্থানের সাথে কীভাবে প্রদর্শন করা উচিত বা পিতৃত্বভুক্ত ইউনিট, অন্য ইউনিট বা ব্রাউজার জানালার সাথে কীভাবে প্রদর্শন করা উচিত তা নির্দিষ্ট করতে সহায়তা করে। স্পষ্টভাবে, এই সুবিধা অত্যন্ত শক্তিশালী এবং অত্যন্ত আশ্চর্যজনকও। জানতে হবে, ব্যবহারকারী এজেন্টগুলির কাছে CSS2-এর অবস্থানের সমর্থন অন্যান্য দিকগুলির থেকে বেশি, যা কোনও অসম্ভব নয়।
অন্যদিকে, CSS1-এ প্রথম ফ্লোটিং উল্লেখ করা হয়েছে, যা নেটস্কেপ দ্বারা ওয়েব উন্নয়নের প্রথম পর্যায়ে যোগ করা একটি সুবিধা। ফ্লোটিং সম্পূর্ণরূপে লক্ষ্যানুকূল নয়, তবে, তা স্বাভাবিক প্রবাহ সাজুকরণও নয়। আমরা পরবর্তী চপতে ফ্লোটিং-এর অর্থ স্পষ্ট করব।
一切皆为框
div、h1 或 p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。
您可以使用 display 属性তৈরি হওয়া বক্সের ধরণ পরিবর্তন করা। অর্থাৎ, display এপার্টমেন্টকে block হিসাবে সেট করে, লাইন ইন সামগ্রী (যেমন <a> সামগ্রী) ব্লক সামগ্রীর মতো আচরণ করতে পারে। display-কে none হিসাবে সেট করলে, তৈরি হওয়া সামগ্রীর বক্স এবং তার সমস্ত সামগ্রী প্রদর্শিত হবে না, এবং ডকুমেন্টের স্থান গ্রহণ করবে না。
কিন্তু, একটি পরিস্থিতিতে, যদি কোনও বিশেষ নির্দিষ্টি না করা হয়, তবে ব্লক সামগ্রী তৈরি করা হবে। এই পরিস্থিতি হল যখন কোনও টেক্সটকে একটি ব্লক সামগ্রী (যেমন div) এর ভিতরে যুক্ত করা হয়। যদি এই টেক্সটকে প্যারাগ্রাফ হিসাবে নির্দিষ্ট করা না হয়, তবেও এটা প্যারাগ্রাফ হিসাবে ব্যবহৃত হবে:
<div> কিছু টেক্সট <p>আরও কিছু টেক্সট。</p> </div>
এই পরিস্থিতিতে, এই বক্সকে 'অজ্ঞাত বক্স' বলা হয়, কারণ এটা কোনও বিশেষভাবে নির্দিষ্ট সামগ্রীর সাথে সংযুক্ত নয়。
ব্লক সামগ্রীর লাইনগুলোও একই ধরণের ঘটনা ঘটতে পারে। যেমন, একটি তিন সারির প্যারাগ্রাফ থাকে। প্রত্যেক সারির লাইন একটি অজ্ঞাত বক্স তৈরি করে। অজ্ঞাত বক্স বা লাইন বক্সকে সাধারণত স্টাইল লাগাতে পারি না, কারণ কোনও স্টাইল লাগানোর জায়গা নেই (লক্ষ্য করুন, লাইন বক্স এবং লাইন ইন বক্স দুটি ভিন্ন ধরণের অংশ)। কিন্তু, এটা সকল চেতাবন্ধনকে একটি বক্স হিসাবে বোঝাতে সাহায্য করে।
CSS পরিস্থিতির প্রক্রিয়া
CSS-এর তিনটি মৌলিক পরিস্থিতির প্রক্রিয়া আছে: সাধারণ স্ট্রিম, ফ্লোটিং এবং অস্থায়ী পরিস্থিতি。
যদি বিশেষভাবে সংকেত করা না হয়, তবে সব বক্স সাধারণ স্ট্রিমে স্থাপন করা হয়। অর্থাৎ, সাধারণ স্ট্রিমের এলিমেন্টগুলোর অবস্থান, (X)HTML-এর এলিমেন্টগুলোর অবস্থান দ্বারা নির্ধারিত হয়。
ব্লক বক্সগুলো একে অপরের উপর থেকে একে অপরের উপর থেকে ক্রমবর্ধমানভাবে বিন্যস্ত হয়, এবং বক্সগুলোর মধ্যের বাহ্যিক মার্গিন থেকে উচ্চতা মাপা হয়。
লাইন ইন বক্সগুলো একটি সারিতে হটে বিন্যস্ত হয়। তাদের হটার মধ্যের মধ্যে অবস্থিতি সমায়োজন করতে হয়, যা হল হল হট মার্গিন, বর্তনী এবং বাহ্যিক মার্গিন। কিন্তু, লাইন ইন বক্সের উচ্চতা প্রভাবিত করতে হবে না। একটি সারি তৈরি হওয়া হট বক্সকেলাইন বক্স (Line Box)এই পরিস্থিতিতে, লাইন বক্সের উচ্চতা সবসময় তার ধারণ করা লাইন ইন বক্সগুলোকে পরিবেশন করার জন্য পর্যাপ্ত। কিন্তু, লাইন উচ্চতা সেট করে এই বক্সের উচ্চতা বাড়াতে পারি。
এই বিভাগে, আমরা আপনাকে সম্পূর্ণভাবে পরিস্থিতির সম্পর্কে, অস্থায়ী পরিস্থিতি, ফ্লোটিং ব্যাখ্যা করব।
CSS position এস্ট্রাইক্ট
ব্যবহার করে position এপার্টমেন্টআমরা ৪টি ভিন্ন ধরণের পরিস্থিতির বাছাই করতে পারি, যা এলিমেন্ট বক্স তৈরির পদ্ধতিকে প্রভাবিত করবে。
position এপার্টমেন্টের মানের অর্থ:
- স্ট্যাটিক
- এলিমেন্ট বক্স সাধারণভাবে তৈরি হয়। ব্লক সামগ্রী একটি চতুর্ভুজ বক্স তৈরি করে, যা ডকুমেন্ট স্ট্রিমের একটি অংশ হিসাবে ব্যবহৃত হয়, এবং লাইন ইন সামগ্রী একটি বা একাধিক লাইন বক্স তৈরি করবে, যা তার পিতৃ সামগ্রীতে অবস্থিত হবে।
- relative
- 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
- absolute
- 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
- fixed
- 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。
提示:相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
实例
- 定位:相对定位
- 本例演示如何相对于一个元素的正常位置来对其定位。
- 定位:绝对定位
- 本例演示如何使用绝对值来对元素进行定位。
- 定位:固定定位
- 本例演示如何相对于浏览器窗口来对元素进行定位。
- 使用固定值设置图像的上边缘
- এই উদাহরণে দেখানো হয়েছে কিভাবে স্থির মান ব্যবহার করে চিত্রের উপরদিকের সীমানা সজ্জা দেওয়া যায়。
- প্রতিশত মান ব্যবহার করে চিত্রের উপরদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে প্রতিশত মান ব্যবহার করে চিত্রের উপরদিকের সীমানা সজ্জা দেওয়া যায়。
- পিক্সেল মান ব্যবহার করে চিত্রের নিচদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে পিক্সেল মান ব্যবহার করে চিত্রের নিচদিকের সীমানা সজ্জা দেওয়া যায়。
- প্রতিশত মান ব্যবহার করে চিত্রের নিচদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে প্রতিশত মান ব্যবহার করে চিত্রের নিচদিকের সীমানা সজ্জা দেওয়া যায়。
- স্থির মান ব্যবহার করে চিত্রের বামদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে স্থির মান ব্যবহার করে চিত্রের বামদিকের সীমানা সজ্জা দেওয়া যায়。
- প্রতিশত মান ব্যবহার করে চিত্রের বামদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে প্রতিশত মান ব্যবহার করে চিত্রের বামদিকের সীমানা সজ্জা দেওয়া যায়。
- স্থির মান ব্যবহার করে চিত্রের ডানদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে স্থির মান ব্যবহার করে চিত্রের ডানদিকের সীমানা সজ্জা দেওয়া যায়。
- প্রতিশত মান ব্যবহার করে চিত্রের ডানদিকের সীমানা সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে প্রতিশত মান ব্যবহার করে চিত্রের ডানদিকের সীমানা সজ্জা দেওয়া যায়。
- কিভাবে স্ক্রোল বার ব্যবহার করে অতিরিক্ত সামগ্রীকে প্রদর্শিত করা যায়
- এই উদাহরণে দেখানো হয়েছে কিভাবে একটি তত্ত্বিক এলাকার মধ্যে যখন সামগ্রী অতিরিক্ত হয় এবং সজ্জিকৃত এলাকার মধ্যে এটা সাজানো যায় না, overflow মানকে সজ্জা দিয়ে সামগ্রীকে নির্দিষ্ট পদ্ধতিতে সজ্জা দেওয়া যায়。
- কিভাবে overflow মানকে সজ্জা দিয়ে অতিরিক্ত সামগ্রীকে লুকিয়ে রাখা যায়
- এই উদাহরণে দেখানো হয়েছে কিভাবে একটি তত্ত্বিক এলাকার মধ্যে যখন সামগ্রী অতিরিক্ত হয় এবং সজ্জিকৃত এলাকার মধ্যে এটা সাজানো যায় না, overflow মানকে সজ্জা দিয়ে সামগ্রীকে লুকিয়ে রাখা যায়。
- কিভাবে ব্রাউজারকে স্বয়ংক্রিয়ভাবে অতিরিক্ত মাত্রা হালনাগাদ করতে সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে একটি তত্ত্বিক এলাকাকে সজ্জা দেওয়া যায় যাতে ব্রাউজার তার অতিরিক্ত মাত্রা স্বয়ংক্রিয়ভাবে হালনাগাদ করতে পারে。
- তত্ত্বিক এলাকাকে সজ্জা দেওয়া
- এই উদাহরণে দেখানো হয়েছে কিভাবে একটি তত্ত্বিক এলাকাকে সজ্জা দেওয়া যায়, এই তত্ত্বিক এলাকার মধ্যে এই তত্ত্বিক এলাকা স্থাপন করা হয় এবং তা প্রদর্শিত করা হয়。
- উঁচুতে সাজানো চিত্র
- এই উদাহরণে দেখানো হয়েছে কিভাবে লিখিত টেক্সটে চিত্রকে উঁচুতে সাজানো যায়。
- Z-index
- Z-index ব্যবহার করে একটি তত্ত্বিক এলাকাকে আরেকটি তত্ত্বিক এলাকার পরে স্থাপন করা যায়。
- Z-index
- উপরোক্ত উদাহরণগুলিতে এলিমেন্টের Z-index পরিবর্তিত হয়েছে
CSS অবস্থান এস্ট্রাইক্ট
CSS অবস্থান এস্ট্রাইক্ট এলিমেন্টকে অবস্থান দেয়
এস্ট্রাইক্ট | বিবরণ |
---|---|
position | এলিমেন্টকে স্থায়ী, সম্পর্কিত, অসম্পর্কিত বা স্থায়ী অবস্থানে স্থাপন |
top | অবস্থান প্রদত্ত এলিমেন্টের উপরের কোর্নারের সাপেক্ষে অবস্থান নির্ধারণ |
right | অবস্থান প্রদত্ত এলিমেন্টের ডান কোর্নারের সাপেক্ষে অবস্থান নির্ধারণ |
bottom | অবস্থান প্রদত্ত এলিমেন্টের নিচের কোর্নারের সাপেক্ষে অবস্থান নির্ধারণ |
left | অবস্থান প্রদত্ত এলিমেন্টের ডান বাইরের কোর্নারের সাপেক্ষে অবস্থান নির্ধারণ |
overflow | এলিমেন্টের কনটেন্ট এলাকা থেকে বের হলে ঘটনা নির্ধারণ |
clip | এলিমেন্টের আকৃতি নির্ধারণ |
vertical-align | এলিমেন্টের বাইরের সাপেক্ষে উপরের দিকের অবস্থান নির্ধারণ |
z-index | স্থান এলিমেন্টের স্ট্যাক ক্রম সংযোজন |
- পূর্ববর্তী পৃষ্ঠা CSS বাহ্যিক মাঝামাঝি মিশ্রণ
- পরবর্তী পৃষ্ঠা CSS সম্পর্কিত অবস্থান