iT邦幫忙

0

Bootstrap rwd排版問題請教

您好:
請問Rwd中,於手機大小, 是否能將 直立排版,轉呈橫向
謝謝!
https://ithelp.ithome.com.tw/upload/images/20201229/20104095CjKWB8f7Qz.png

https://www.w3schools.com/bootstrap/bootstrap_ref_css_helpers.asp
這邊有說明,Responsive Utilities 這一段
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0

一般不可能做到。但可以做到防護。
當偵察到直立時。用一個畫面請用戶轉成橫式才能使用。

一般要強制橫式的話。web比較難直接做到。畢竟受限於瀏覽器app的控制。
只能利用web app這一類的東西才有可能辦到了。

淺水員 iT邦大師 6 級 ‧ 2020-12-30 01:44:18 檢舉

我猜他問的只是當畫面寬度改變時
如果寬度足夠,會變成右邊的排列方式

看了一下,好像耶。
不過看樣子格式無法統一的情況下。
可能還是需要用判斷的方式才能達到

早期我們是覺得麻煩。是用雙view來處理的。
後期因為這樣子在轉向會有讀取的動作。感觀不好。
最後還是搭配了css的偵測對應。處理。
上標頭跟昨標頭都有存在。中間的資料值則是用寬度計算來處理的。

1
topcattw
iT邦新手 5 級 ‧ 2020-12-30 08:52:21

您可以畫兩個
然後依據目前的螢幕寬度(直看、橫看)
調整哪個顯示,哪個隱藏
^.^a

2
listennn08
iT邦高手 5 級 ‧ 2020-12-30 10:23:12

用 bootstrap 可以做到
只要需要設定 d-*-block d-none 就能達成你要的顯示方式
但這樣設定又要去判斷是不是第一個元素
我會傾向另外自己設定一個顯示的 class 斷點設定跟 bootstrap 一樣就好

<ul class="list-unstyled">
  <li class="row no-gutters flex-sm-row flex-column ctm-table">
    <div class="col-sm-2 col ctm-table-title">
      <ul class="list-unstyled d-sm-block d-flex">
        <li class="col border">訂單</li>
        <li class="col border">項次</li>
        <li class="col border">品號</li>
        <li class="col border">數量</li>
      </ul>
    </div>
    <div class="col-sm-2 col">
      <ul class="list-unstyled text-sm-right d-sm-block d-flex">
        <li class="col border">A001</li>
        <li class="col border">1</li>
        <li class="col border">X2124</li>
        <li class="col border">4</li>
      </ul>
    </div>
  </li>
  <li class="row no-gutters flex-sm-row flex-column ctm-table">
    <div class="col-sm-2 col ctm-table-title">
      <ul class="list-unstyled d-sm-block d-flex">
        <li class="col border">訂單</li>
        <li class="col border">項次</li>
        <li class="col border">品號</li>
        <li class="col border">數量</li>
      </ul>
    </div>
    <div class="col-sm-2 col">
      <ul class="list-unstyled text-sm-right d-sm-block d-flex">
        <li class="col border">A001</li>
        <li class="col border">2</li>
        <li class="col border">DDDD</li>
        <li class="col border">2</li>
      </ul>
    </div>
  </li>
</ul>
/* scss */
@mixin sm {
  @media screen and (max-width: 576px) {
    @content;
  }
}

.ctm-table {
  &:not(:first-of-type) {
    & .ctm-table-title {
      @include sm {
        display: none;
      }
    }
  }
}

/* css */
@media screen and (max-width: 576px) {
  .ctm-table:not(:first-of-type) .ctm-table-title {
    display: none;
  }
}

demo

我要發表回答

立即登入回答