ফ্লুইড টুইটার বুটস্ট্র্যাপ ২.০ এ স্থির সাইডবার নেভিগেশন


উত্তর:


168

দ্রষ্টব্য: একটি বুটস্ট্র্যাপ jQuery প্লাগইন রয়েছে যা এটি করে এবং আরও অনেক কিছু যা এই উত্তরটি লেখার (প্রায় দু'বছর আগে) আফিক্স নামে পরিচিত হওয়ার পরে কয়েকটি সংস্করণ চালু হয়েছিল । আপনি যদি বুটস্ট্র্যাপ ২.০.৪ বা তার চেয়ে কম ব্যবহার করেন তবে এই উত্তরটি তখনই প্রযোজ্য।


হ্যাঁ, কেবল আপনার সাইডবারের জন্য একটি নতুন নির্দিষ্ট বর্গ তৈরি করুন এবং বাম মার্জিনটি তৈরি করতে আপনার সামগ্রী ডিভিতে একটি অফসেট ক্লাস যুক্ত করুন:

সিএসএস

.sidebar-nav-fixed {
    padding: 9px 0;
    position:fixed;
    left:20px;
    top:60px;
    width:250px;
}

.row-fluid > .span-fixed-sidebar {
    margin-left: 290px;
}

ডেমো: http://jsfiddle.net/U8HGz/1/show/ এখানে সম্পাদনা করুন: http://jsfiddle.net/U8HGz/1/

হালনাগাদ

প্রতিক্রিয়াশীল বুটস্ট্র্যাপ শীট সমর্থন করতে আমার ডেমো স্থির করে, এখন এটি বুটস্ট্র্যাপের প্রতিক্রিয়াশীল বৈশিষ্ট্য সহ প্রবাহিত।

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

সিএসএস

.sidebar-nav-fixed {
     position:fixed;
     top:60px;
     width:21.97%;
 }

 @media (max-width: 767px) {
     .sidebar-nav-fixed {
         width:auto;
     }
 }

 @media (max-width: 979px) {
     .sidebar-nav-fixed {
         position:static;
        width: auto;
     }
 }

এইচটিএমএল

<div class="container-fluid">
<div class="row-fluid">
 <div class="span3">
   <div class="well sidebar-nav sidebar-nav-fixed">
    ...
   </div><!--/.well -->
 </div><!--/span-->
 <div class="span9">
    ...
 </div><!--/span-->
</div><!--/row-->

</div><!--/.fluid-container-->

ডেমো , এখানে সম্পাদনা করুন

গৌণ দ্রষ্টব্য: স্থির সাইডবারের প্রস্থে প্রায় 10px / 1% পার্থক্য রয়েছে, কারণ এটি স্প্যান 3 ধারক ডিভ থেকে প্রস্থটি উত্তরাধিকারসূত্রে পায় না কারণ এটি স্থির হয়েছে আমাকে একটি নিয়ে আসতে হয়েছিল প্রস্থ। এটি যথেষ্ট কাছাকাছি।

গ্রিডটি ছোট স্ক্রিন / মোবাইল ভিউয়ের জন্য ড্রপ না হওয়া পর্যন্ত আপনি সাইডবারটি স্থির রাখতে চাইলে এখানে আরও একটি পদ্ধতি রয়েছে।

সিএসএস

.sidebar-nav-fixed {
    position:fixed;
    top:60px;
    width:21.97%;
}

@media (max-width: 767px) {
    .sidebar-nav-fixed {
        position:static;
        width:auto;
    }
}

@media (max-width: 979px) {
    .sidebar-nav-fixed {
        top:70px;
    }
}

ডেমো , এখানে সম্পাদনা করুন


ক্রোম এবং ফায়ারফক্স উভয় ক্ষেত্রেই আমার জন্য, এই ফ্রিডলটি সর্বদা ~ 1,016 পিক্সেলের প্রস্থের নীচে একটি অনুভূমিক স্ক্রোলবার (ক্রোম) থাকে। (এখানে দেখতে আরও সহজ: jsfiddle.net/U8HGz/130/ শো যা ঠিক / 1 তবে উইন্ডোটির প্রস্থ এবং উচ্চতা "হ্যালো ওয়ার্ল্ড; নীচে দেখায় ; আমি জানি না / 2 - / 129 কি?)
টিজে ক্রোডার

4
@ টিজে ক্রাউডার যা সাইডবারের জন্য পথ তৈরির জন্য তৈরি ক্লাসে margin-left:290pxঘোষণার কারণে .span-fixed-sidebar, যদি তা না থাকে তবে লিখিত সামগ্রীটি ছোট পর্দার উপরের সাইডবারকে ওভারল্যাপ করবে। যদিও স্পষ্টভাবে তে এটি গোপন করে আপনি অনুভূমিক স্ক্রলবার বাদ দিতে পারে bodyট্যাগ, যেমন: body { overflow-x: hidden; }
আন্দ্রেস ইলিচ

ধন্যবাদ এটি কোনও মিডিয়া ক্যোয়ারী বা কোনও কিছুর সাথে কাজ করতে পারে (সুতরাং এটি সত্যিই সংকীর্ণ উইন্ডোতে রয়েছে); তবে সেই মুহুর্তে সম্ভবত কোনওভাবেই সাইডবারটি স্থানান্তর করতে চায়।
টিজে ক্রাউডার 21

4
@ মরিসগুলি আমার ডেমো টিআই ঠিক করে বুটস্ট্র্যাপের প্রতিক্রিয়াশীল বৈশিষ্ট্যটিকে সমর্থন করে।
আন্দ্রেস ইলিচ

4
@ মিগুয়েলকোবাইন এখানে একটি স্থির সংস্করণ , পুরোপুরি পরীক্ষিত না হলেও আমার পরীক্ষার পরিবেশে ঠিক কাজ করেছে। আর একটি সমাধান হ'ল অ্যাফিক্স বুটস্ট্র্যাপ প্লাগইন ব্যবহার করা , যা বুটস্ট্র্যাপের নির্দিষ্ট বিভাগগুলির জন্য স্থানীয় সমর্থন নিয়ে আসে .... এই সমাধানটি এমন সময়ে লেখা হয়েছিল যখন আমাদের কিছুই ছিল না।
আন্দ্রেস ইলিচ 5'13

46

সর্বশেষতম বুস্ট্র্যাপ (২.১.০) এ জাতীয় অ্যাপ্লিকেশন, বিশেষ করে FYI এর জন্য একটি নতুন জেএস "affix" বৈশিষ্ট্য রয়েছে।


পছন্দ করুন ওপি বিশেষত বুটস্ট্র্যাপ ২.০ উল্লেখ করেছে।
কাইল

27

এটি প্রতিক্রিয়াশীল ওয়েব ডিজাইনটিকে স্ক্রু করবে। মিডিয়া ক্যোয়ারিতে স্থির দিকের বারটি মোড়ানো ভাল।

সিএসএস

@media (min-width: 768px) { 
  .sb-fixed{
    position: fixed;
  } 
}

এইচটিএমএল

<div class="span3 sb-fixed">
   <div class="well sidebar-nav">
      <!-- Sidebar Contents -->
   </div>
</div>

এখন সাইডবারটি কেবলমাত্র স্থির, ভিউপটটি যদি বড় হয় তবে 768px।



0

আমি আন্দ্রেসের উত্তর দিয়ে শুরু করেছিলাম এবং এর মতো একটি স্টিকি সাইডবার পেয়ে শেষ করেছি:

এইচটিএমএল:

<div class="span3 sidebar-width">
  <div class="well sidebar-nav-fixed">
    Sidebar
  </div>
</div>

<div class="span9 span-fixed-sidebar">
  Content
</div> <!-- /span -->

সিএসএস:

.sidebar-nav-fixed {
  position:fixed;
}

জেএস / জিকুয়েরি:

sidebarwidth = $(".sidebar-width").css('width');
$('.sidebar-nav-fixed').css('width', sidebarwidth);
contentmargin = parseInt(sidebarwidth) + 60;
$('.span-fixed-sidebar').css('marginLeft', contentmargin);

আমি ধরে নিচ্ছি ভিউপোর্টটি পুনরায় আকার দেওয়া হলে 'সাইডবারউইথ' পরিবর্তনশীলটি আপডেট করার জন্য আমারও জেএস দরকার।


0

খুব সহজেই ফিক্স এনএভি বা আপনার যে সমস্ত ট্যাগ ট্যাগ চান তা পাওয়া যায়। আপনার যা দরকার তা হ'ল এটির মতো আপনার ফিক্স ট্যাগটি লিখতে এবং এটি আপনার দেহের বিভাগে রেখে দেওয়া

   <div style="position: fixed">
       test - try  scroll again. 
   </div>

0

বর্তমান বুটস্ট্র্যাপ সংস্করণ (৩.৩.২) সহ নেভিগেশনের জন্য একটি নির্দিষ্ট পার্শ্বদন্ডটি অর্জন করার একটি দুর্দান্ত উপায় রয়েছে।

এই সমাধানটি পুনরায় প্রবর্তিত ধারক-তরল শ্রেণীর সাথেও ভাল কাজ করে যার অর্থ একটি প্রতিক্রিয়াশীল পূর্ণ-স্ক্রীন বিন্যাস সহজেই সম্ভব।

সাধারণত আপনার নির্দিষ্ট প্রস্থ এবং মার্জিন ব্যবহার করতে হবে বা নেভিগেশন সামগ্রীটি ওভারল্যাপ করবে, তবে খালি স্থানধারক কলামের সাহায্যে সামগ্রীটি সর্বদা সঠিক স্থানে থাকে।

নীচের সেটআপটি যখন আপনি উইন্ডোটিকে 768px এর চেয়ে কম আকারে পরিবর্তন করেন এবং স্থির ন্যাভিগেশন ছেড়ে দেন তখন সামগ্রীটি চারপাশে আবৃত হয়।

কার্যকারী উদাহরণের জন্য http://www.bootply.com/ePvnTy1VII দেখুন ।

সিএসএস

@media (min-width: 767px) { 
    #navigation{
        position: fixed;
    }
}

এইচটিএমএল

<div class="container-fluid">
 <div class="row">
  <div id="navigation" class="col-lg-2 col-md-3 col-sm-3">
    <ul>
      <li><a href="#">Link 1</a></li>
      <li><a href="#">Link 1</a></li>
      <li><a href="#">Link 1</a></li>
    </ul>
  </div>

  <div class="col-lg-2 col-md-3 col-sm-3 hidden-xs">
    <!-- Placeholder - keep empty -->
  </div> 

  <div id="main" class="col-lg-10 col-md-9 col-sm-9 fill">
     ...
     Huge Content
     ...
  </div> 
 </div>
</div>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.