<ul> এলিমানিটি উল্লম্বভাবে সারিবদ্ধ কিভাবে করবেন?


97

আমার একটি অনুভূমিক রয়েছে <ul>এবং আমার <li>এটির প্রতিটিকে উল্লম্বভাবে কেন্দ্র করা দরকার । আমার মার্কআপ নীচে। প্রত্যেকটির <li>একটি সীমানা রয়েছে এবং আমার আইটেমগুলির পাশাপাশি তাদের বিষয়বস্তুগুলি মাঝখানে উল্লম্বভাবে হওয়া দরকার। সাহায্য করুন; আমি সিএসএসে নতুন


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        .toolbar li
        {
            border: solid 1px black;
            display: block;
            float: left;
            height: 100px;
            list-style-type: none;
            margin: 10px;
            vertical-align: middle;
        }
        .toolbar li.button
        {
            height: 50px;
        }
    </style>
</head>
<body>
    <div class="toolbar">
        <ul>
            <li><a href="#">first item<br />
                first item<br />
                first item</a></li>
            <li><a href="#">second item</a></li>
            <li><a href="#">last item</a></li>
            <li class="button"><a href="#">button<br />
                button</a></li>
        </ul>
    </div>
</body>
</html>

w3schools.com/css/css_navbar.asp - আমি জানি যে এর জবাব দেওয়া হয়েছে তবে এখন থেকে যে কেউ এটিকে দেখলে আমি এই
— সহায়কটি

উত্তর:


76

আমি ধরে নিয়েছি যেহেতু আপনি একটি এক্সএমএল ঘোষণা ব্যবহার করছেন, আপনি IE বা পুরানো ব্রাউজারগুলি নিয়ে চিন্তা করছেন না।

সুতরাং আপনি এটি ব্যবহার display:table-cellএবং display:table-rowপছন্দ করতে পারেন :

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        .toolbar ul {
            display:table-row;
        }
        .toolbar ul li
        {
            display: table-cell;
            height: 100px;
            list-style-type: none;
            margin: 10px;
            vertical-align: middle;
        }
        .toolbar ul li a {
            display:table-cell;
            vertical-align: middle;
            height:100px;
            border: solid 1px black;
        }
        .toolbar ul li.button a {
            height:50px;
            border: solid 1px black;
        }
    </style>
</head>
<body>
    <div class="toolbar">
        <ul>
            <li><a href="#">first item<br />
                first item<br />
                first item</a></li>
            <li><a href="#">second item</a></li>
            <li><a href="#">last item</a></li>
            <li class="button"><a href="#">button<br />
                button</a></li>
        </ul>
    </div>
</body>
</html>

4
আপনাকে ধন্যবাদ, এটি আংশিকভাবে কাজ করে। অর্থাত, পিছনের বাক্সগুলির বিষয়বস্তু কেন্দ্রিক, তবে আমি কীভাবে বাক্সগুলিকে কেন্দ্র করব?
— আকোনসু

না, না, তালিকার মাঝখানে। এই বিশেষ উদাহরণে, শেষ বাক্সটি প্রথম তিনটির চেয়ে কম হওয়া উচিত।
— আকনসু

@ অ্যাকোনসু - আমি এটি পরিবর্তন করেছি, যদিও আমি এটি ফায়ারফক্স ব্যতীত অন্য কোনওটিতে পরীক্ষা করে নিই না। এটি ফিট যদি আমাকে জানাবেন।
— রিচার্ড জে পি লে গুয়েন

4
রিচার্ড, আপনার সাহায্যের জন্য অনেক ধন্যবাদ। আমি এই প্রদর্শন ধরণের সম্পর্কে জানতাম না। দুর্ভাগ্যক্রমে তারা আই 7 তে সমর্থিত নয়। আমি প্রতিটি <li>: ampsoft.net/webdesign-l/versical-aligned-nav-list.html এর সামগ্রীগুলি সারিবদ্ধ করার একটি উপায় খুঁজে পেয়েছি তবে <li> ভিতরে <ul> ভিতরে সারিবদ্ধ করার জন্য কোনও ক্রস ব্রাউজারের উপায় নেই বলে মনে হচ্ছে। ..
— আকনসু

4
আপনি যদি আই 7 কে টার্গেট করছেন তবে আপনার কাছে কেন একটি <?xml?>ঘোষণা আছে? আইই এর সমস্ত সংস্করণ এক্সএইচটিএমএলকে সত্যই সমর্থন করে না। আমি মনে করি আপনার পাঠ্য / এইচটিএমএল হিসাবে ক্ষতিকারক হিসাবে বিবেচিত: এইচএইচটিএমএল
— রিচার্ড জে পি লে গুয়েন

75

এখানে একটি ভাল:

line-heightযা আছে তার সমান সেট করুন height; একটি যাদুমন্ত্র মত কাজ করে!

যেমন:

li {
    height: 30px;
    line-height: 30px;
}

4
আপনি একটি ছোট উদাহরণ দিয়ে বিস্তারিত বলতে পারেন?
— লেইগ

4
নিখুঁত - লাইন-উচ্চতা: 30px; on floated <li> 's যা আমার প্রয়োজন ছিল (ক্রোম)
— গুরুবিও

4
এটি যদি দুটি লাইনে পড়ে তবে কী হবে?
— মহেশ

4
হ্যাঁ, কেবলমাত্র এক লাইনের চেয়ে বেশি পাঠ্য অক্ষম।
— Wanny Miarelli

4
এটিই আমার জন্য কাজ করেছে। অন্যান্য উত্তর কাজ করে না।
— আদেভ

35

আপনি এটির জন্য ফ্লেক্সবক্স ব্যবহার করতে পারেন।

ul {
    display: flex;
    align-items: center;
}

কীভাবে ফ্লেক্সবক্স ব্যবহার করবেন তার বিশদ বিবরণ এখানে পাওয়া যাবে ।


4

আমারও একই সমস্যা ছিল। এটা চেষ্টা কর.

<nav>
    <ul>
        <li><a href="#">AnaSayfa</a></li>
        <li><a href="#">Hakkımızda</a></li>
        <li><a href="#">İletişim</a></li>
    </ul>
</nav>
@charset "utf-8";

nav {
    background-color: #9900CC;
    height: 80px;
    width: 400px;
}

ul {
    list-style: none;
    float: right;
    margin: 0;
}

li {
    float: left;
    width: 100px;
    line-height: 80px;
    vertical-align: middle;
    text-align: center;
    margin: 0;
}

nav li a {
    width: 100px;
    text-decoration: none;
    color: #FFFFFF;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.