কেন্দ্রে পুরো এইচটিএমএল বডি সারিবদ্ধ করবেন?


উত্তর:


118

আমি কেবল এই পুরানো পোস্টে হোঁচট খেয়েছি, এবং আমি নিশ্চিত যে ইউজার ০১ তার উত্তরটি অনেক আগে থেকেই খুঁজে পেয়েছেন, আমি পেয়েছি বর্তমান উত্তরগুলি বেশ কার্যকর হয় না। অন্যদের দেওয়া তথ্য ব্যবহার করে কিছুটা সময় ঘুরে দেখার পরে আমি একটি সমাধান পেয়েছি যা আইই, ফায়ারফক্স এবং ক্রোমে কাজ করে। সিএসএসে:

html, body {
    height: 100%;
}

html {
    display: table;
    margin: auto;
}

body {
    display: table-cell;
    vertical-align: middle;
}

এটি প্রায়শই অ্যাবার্নিয়ারের উত্তরের মতো, তবে আমি দেখতে পেয়েছি যে প্রস্থ সহ কেন্দ্রিকতা ভেঙে যাবে, যেমন অটো মার্জিন বাদ যাবে। আমি আশা করি যে এই থ্রেডে হোঁচট খায় যে কেউ আমার উত্তরকে সহায়ক বলে মনে করবে।

নোট: ফেরত html, body { height: 100%; }শুধুমাত্র অনুভূমিকভাবে কেন্দ্রে।


ভাল উত্তর. শুধু ভাবছি (যেমন HTML এর সাথে আমার প্রচুর অভিজ্ঞতা নেই), উচ্চতাটি 100% প্রয়োজনীয় করে দিচ্ছেন?
জ্যাক হামফ্রিজ

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

37

আপনি চেষ্টা করতে পারেন:

body{ margin:0 auto; }

4
এটি এমন একটি সহজ উত্তর তবে পৃষ্ঠার মাঝখানে বডি ট্যাগকে কেন্দ্র করার সবচেয়ে পরিষ্কার এবং সবচেয়ে কার্যকর উপায়।
justinhartman

4
যদিও এটি সংক্ষিপ্ত, IE, এজ লিগ্যাসি, এজ, ক্রোম বা ফায়ারফক্সেও কাজ করে না। সমস্যাটি হ'ল মার্জিন অটো কেবল তখনই কাজ করে যখন উপাদানের প্রস্থ পিতামাতার চেয়ে কম হয়। 'বডি' ডিফল্ট হিসাবে 100% এ অটো-sertোকানো মার্জিনগুলির প্রান্তগুলিতে কোনও স্থান নেই। আপনি ব্যবহার করতে পারেন body { margin:0 auto; max-width: 700px; }এবং তারপরে আপনার দেহ 700px পর্যন্ত হবে এবং ছোট ডিভাইসগুলিতে মোড়কের অনুমতি দেবে।
ব্যবহারকারী3347790

18

সম্পাদনা

ফ্লেক্সবক্সের সাথে আজকের মতো, আপনি করতে পারেন

body {
  display:flex; flex-direction:column; justify-content:center;
  min-height:100vh;
}

পূর্ববর্তী উত্তর

html, body {height:100%;}
html {display:table; width:100%;}
body {display:table-cell; text-align:center; vertical-align:middle;}

4
কোন ডক্টইপিই সত্তার styleবৈশিষ্ট্যটির অনুমতি দেয় html?
সিল্ভড

4
@ সিভিং: বুঝতে ভুলবেন না ... মানে এটি সিএসএস বৈধ নয়?
abernier

11

আমার যদি সিএসএসের প্রতি শ্রদ্ধার সাথে শেয়ার করতে আমার কাছে একটি জিনিস থাকে তবে এটি আমার পক্ষে দু'দিক অক্ষরেদিকের কেন্দ্রীভূত করার উপায় !!!

এই পদ্ধতির সুবিধা :

  1. লোকেরা আসলে ব্যবহার করে এমন ব্রাউজারগুলির সাথে সম্পূর্ণ সামঞ্জস্য
  2. কোনও টেবিলের প্রয়োজন নেই
  3. তাদের পিতামাতার অভ্যন্তরে অন্য কোনও উপাদান কেন্দ্রীভূত করার জন্য উচ্চ পুনরায় ব্যবহারযোগ্য
  4. গতিশীল (পরিবর্তনশীল) মাত্রা সহ পিতামাতাদের এবং শিশুদের একত্রীকরণ!

আমি সর্বদা ২ টি ক্লাস ব্যবহার করে এটি করি: একটি প্যারেন্ট উপাদান নির্দিষ্ট করে, যার বিষয়বস্তু কেন্দ্রিক হবে ( .centered-wrapper) এবং দ্বিতীয়টি পিতামাতার কোন সন্তানের কেন্দ্রিক হবে তা নির্দিষ্ট করে ( .centered-content)। এই ২ য় শ্রেণীর ক্ষেত্রে পিতামাতার একাধিক বাচ্চা রয়েছে সে ক্ষেত্রে দরকারী তবে কেবলমাত্র 1 টি কেন্দ্রিক করা দরকার)। এই ক্ষেত্রে, bodyহবে .centered-wrapper, এবং একটি অভ্যন্তর divহবে .centered-content

<html>
    <head>...</head>
    <body class="centered-wrapper">
        <div class="centered-content">...</div>
    </body>
</html>

কেঁদ্রীকরণ ধারণা এখন করতে হবে .centered-contentএকটি inline-block। এটি সহজেই মাধ্যমে অনুভূমিক কেন্দ্রীকরণকে সহজতর করবে text-align: center;এবং আপনি যেমন দেখতে পাবে উল্লম্ব কেন্দ্রীকরণেরও অনুমতি দেয়।

.centered-wrapper {
    position: relative;
    text-align: center;
}
.centered-wrapper:before {
    content: "";
    position: relative;
    display: inline-block;
    width: 0; height: 100%;
    vertical-align: middle;
}
.centered-content {
    display: inline-block;
    vertical-align: middle;
}

এটি আপনাকে কোনও পিতা-মাতার অভ্যন্তরে যে কোনও শিশুকে কেন্দ্র করে রাখার জন্য 2 টি সত্যই পুনরায় ব্যবহারযোগ্য ক্লাস দেয়! শুধু .centered-wrapperএবং .centered-contentক্লাস যুক্ত করুন।

সুতরাং, যে :beforeউপাদান সঙ্গে কি ? এটি সুবিধার্থ করে vertical-align: middle;এবং প্রয়োজনীয় কারণ উল্লম্ব সারিবদ্ধতা পিতামাতার উচ্চতার সাথে তুলনামূলক নয় - উল্লম্ব সারিবদ্ধতা দীর্ঘতম ভাইবোনের উচ্চতার সাথে সম্পর্কিত !!! । সুতরাং, এমন এক ভাইবোন রয়েছে যার উচ্চতা পিতামাতার উচ্চতা (100% উচ্চতা, 0 টি প্রস্থ এটি অদৃশ্য করার জন্য) রয়েছে তা নিশ্চিত করে আমরা জানি যে উল্লম্ব সারিবদ্ধতা পিতামাতার উচ্চতার ক্ষেত্রে সম্মানের সাথে থাকবে।

একটি শেষ কথা: আপনার htmlএবং bodyট্যাগগুলি উইন্ডোর আকারের তা নিশ্চিত করতে হবে যাতে ব্রাউজারে কেন্দ্রীকরণ করার মতো সেগুলিকে কেন্দ্র করে রাখা একই হয়!

html, body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

ফিডাল: https://jsfiddle.net/gershy/g121g72a/



8

আমি ফ্লেক্সবক্স চালু করি html। একটি দুর্দান্ত প্রভাবের জন্য, আপনি ব্রাউজারগুলির ক্রোমের সাথে মিল রাখতে পারেন যাতে আপনার পৃষ্ঠার সর্বাধিকের চেয়ে বড় আকারের স্ক্রিনে আপনার সামগ্রী ফ্রেম করতে পারে। আমি দেখতে পাই যে #eeeeeeখুব ভাল মেলে। আপনি একটি দুর্দান্ত ফ্লোট এফেক্টের জন্য একটি বাক্সের ছায়া যুক্ত করতে পারেন।

    html{
        display: flex;
        flex-flow: row nowrap;  
        justify-content: center;
        align-content: center;
        align-items: center;
        height:100%;
        margin: 0;
        padding: 0;
        background:#eeeeee;
    }
    body {
        margin: 0;
        flex: 0 1 auto;
        align-self: auto;
        /*recommend 1920 / 1080 max based on usage stats, use 100% to that point*/
        width: 100%
        max-width: 900px;
        height: 100%;
        max-height: 600px;
        background:#fafafa;
        -webkit-box-shadow: 0px 0px 96px 0px rgba(0,0,0,0.75);
        -moz-box-shadow: 0px 0px 96px 0px rgba(0,0,0,0.75);
        box-shadow: 0px 0px 96px 0px rgba(0,0,0,0.75);
    }

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন চিত্র / ডেটা সৌজন্যে স্ট্যাটকাউন্টার


4
ভাল, আধুনিক উত্তর। মাত্র কয়েকটি মন্তব্য। (ক) এর box-shadowব্র্যান্ডার হিসাবে বিক্রেতার উপসর্গ সম্ভবত অপ্রয়োজনীয় যা flexসমর্থন করে box-shadow। (খ) প্রচুর সিএসএস রয়েছে যা আপনার উত্তরকে শোভিত করে, তবে গুরুত্বপূর্ণ বিটগুলি পৃথক করে তোলে hard ধন্যবাদ
ম্যাঙ্গো

উপরের @ মঙ্গোর মন্তব্যে খুব বেশি (খ)।
সিজউভিন

ভাল উত্তর. আধুনিক। তবে এটি একই বিষয়বস্তু সহ একটি সহজ হতে পারে।
carloswm85


4
<style>
        body{
            max-width: 1180px;
            width: 98%;
            margin: 0px auto;
            text-align: left;
        }
</style>

যে কোনও সিএসএস প্রয়োগ করার আগে কেবল এই স্টাইলটি প্রয়োগ করুন। আপনি আপনার প্রয়োজন অনুযায়ী প্রস্থ পরিবর্তন করতে পারেন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.