এটি যদি পাঠ্য এবং / অথবা চিত্রের এক লাইন হয় তবে এটি করা সহজ। শুধু ব্যবহার করুন:
text-align: center;
vertical-align: middle;
line-height: 90px; /* The same as your div height */
এটাই. যদি এটি একাধিক লাইন হতে পারে তবে এটি কিছুটা জটিল। তবে http://pmob.co.uk/ এ সমাধান রয়েছে । "উল্লম্ব সারিবদ্ধ" অনুসন্ধান করুন।
যেহেতু তারা হ্যাক হতে বা জটিল ডিভগুলি যুক্ত করে ... আমি সাধারনত একটি একক ঘরের সাথে একটি টেবিল ব্যবহার করি ... এটি যতটা সম্ভব সহজ করার জন্য।
2020 এর জন্য আপডেট:
ইন্টারনেট এক্সপ্লোরার 10 এর মতো পূর্ববর্তী ব্রাউজারগুলিতে এটির কাজ না করা আপনি ফ্লেক্সবক্স ব্যবহার করতে পারেন। এটি সমস্ত বর্তমান প্রধান ব্রাউজার দ্বারা ব্যাপকভাবে সমর্থিত । মূলত, ধারকটিকে প্রধান এবং ক্রস অক্ষের সাথে কেন্দ্র করে একত্রে ফ্লেক্স ধারক হিসাবে নির্দিষ্ট করা দরকার:
#container {
display: flex;
justify-content: center;
align-items: center;
}
সন্তানের জন্য একটি নির্দিষ্ট প্রস্থ নির্দিষ্ট করতে, যাকে "ফ্লেক্স আইটেম" বলা হয়:
#content {
flex: 0 0 120px;
}
উদাহরণ: http://jsfiddle.net/2woqsef1/1/
সামগ্রী সঙ্কুচিত-মোড়ক করতে, এটি আরও সহজ: কেবলমাত্র flex: ...
ফ্লেক্স আইটেমটি থেকে লাইনটি সরিয়ে ফেলুন এবং এটি স্বয়ংক্রিয়ভাবে সঙ্কুচিত-মোড়ানো হবে।
উদাহরণ: http://jsfiddle.net/2woqsef1/2/
উপরের উদাহরণগুলি এমএস এজ এবং ইন্টারনেট এক্সপ্লোরার 11 সহ প্রধান ব্রাউজারগুলিতে পরীক্ষা করা হয়েছে।
আপনার যদি এটি কাস্টমাইজ করার দরকার হয় তবে একটি প্রযুক্তিগত নোট: ফ্লেক্স আইটেমের ভিতরে, যেহেতু এই ফ্লেক্স আইটেমটি নিজেই কোনও ফ্লেক্স ধারক নয়, তাই সিএসএসের পুরানো নন-ফ্লেক্সবক্স উপায় প্রত্যাশার মতো কাজ করে। তবে আপনি যদি বর্তমান ফ্লেক্স ধারকটিতে একটি অতিরিক্ত ফ্লেক্স আইটেম যুক্ত করেন তবে দুটি ফ্লেক্স আইটেমটি অনুভূমিকভাবে স্থাপন করা হবে। এগুলি উল্লম্বভাবে স্থাপন করতে, এটিকে flex-direction: column;
ফ্লেক্স পাত্রে যুক্ত করুন। এটি কোনও ফ্লেক্স ধারক এবং তার আশেপাশের শিশু উপাদানগুলির মধ্যে এটি কাজ করে।
কেন্দ্রীকরণ করার একটি বিকল্প পদ্ধতি রয়েছে: center
ফ্লেক্স ধারকটির জন্য প্রধান এবং ক্রস অক্ষের বিতরণের জন্য নির্দিষ্ট না করে , পরিবর্তে margin: auto
চারটি দিকের সমস্ত অতিরিক্ত স্থান গ্রহণ করার জন্য ফ্লেক্স আইটেমটি নির্দিষ্ট করুন এবং সমানভাবে বিতরণ করা মার্জিন ফ্লেক্স আইটেমটি সমস্ত দিকে কেন্দ্র করে তৈরি করবে। একাধিক ফ্লেক্স আইটেম থাকা ব্যতীত এটি কাজ করে। এছাড়াও, এই কৌশলটি এমএস এজে কাজ করে তবে ইন্টারনেট এক্সপ্লোরার 11 এ নয়।
২০১ / / 2017 এর জন্য আপডেট:
এটি আরও সাধারণভাবে করা যায় transform
এবং এটি ইন্টারনেট এক্সপ্লোরার 10 এবং ইন্টারনেট এক্সপ্লোরার 11 এর মতো পুরানো ব্রাউজারগুলিতেও ভাল কাজ করে It এটি পাঠ্যের একাধিক লাইনের সমর্থন করতে পারে:
position: relative;
top: 50%;
transform: translateY(-50%);
উদাহরণ: https://jsfiddle.net/wb8u02kL/1/
প্রস্থ সঙ্কুচিত-মোড়ক করতে:
উপরের সমাধানটি সামগ্রীর ক্ষেত্রের জন্য একটি নির্দিষ্ট প্রস্থ ব্যবহার করেছে। সঙ্কুচিত-মোড়ানো প্রস্থ ব্যবহার করতে, ব্যবহার করুন
position: relative;
float: left;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
উদাহরণ: https://jsfiddle.net/wb8u02kL/2/
যদি ইন্টারনেট এক্সপ্লোরার 10 এর জন্য সমর্থন প্রয়োজন হয়, তবে ফ্লেক্সবক্স কাজ করবে না এবং উপরের পদ্ধতি এবং line-height
পদ্ধতিটি কাজ করবে। অন্যথায়, ফ্লেক্সবক্স কাজটি করত।
text-align:center
"উল্লম্ব অংশ" না?