{"product_id":"transit-packing-cube-10l-ultra","title":"Transit 收納包 10L - Ultra","description":"\u003cdiv class=\"product-description\"\u003e\n\n\u003ch3\u003e我們最先進的壓縮裝備收納包\u003c\/h3\u003e\n\n\u003cp\u003e專為 2026 ULTRA 旅行系統打造，這款限量版 TPC10 結合了我們的壓縮收納包平台與 ULTRA TX50，創造出極輕量的防水收納包，同時兼具令人驚豔的耐用性。經過優化，功能精簡，是我們迄今為止性能最優越的 TPC10 版本。\u003cbr\u003e\u003c\/p\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e我們使用過最輕的機能面料，在不影響耐用性的情況下減輕重量\u003c\/li\u003e\n\n\u003cli\u003e裝滿、收緊並壓縮您的物品以節省空間\u003c\/li\u003e\n\n\u003cli\u003e防水但近乎半透明的面料薄而柔軟\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003cdiv id=\"feat\"\u003e\n\n\u003cul\u003e\n\n\u003cli\u003e加裝時更易於打包的收納領。\u003c\/li\u003e\n\n\u003cli\u003e整合式雙向束帶，用於固定物品。\u003c\/li\u003e\n\n\u003cli\u003e主拉鍊線可機械式壓縮物品。\u003c\/li\u003e\n\n\u003cli\u003e尺寸設計可最大程度地利用我們所有包袋的收納空間。\u003c\/li\u003e\n\n\u003cli\u003e壓紋魔鬼氈方形環可接受我們的客製化貼片\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\n\u003c\/div\u003e\n\u003cdiv id=\"spec\"\u003e材質與規格\n\u003cdiv class=\"disclosure__panel has-motion\"\u003e\n\n\u003cdiv class=\"disclosure__content rte cf\"\u003e\n\n\u003cdiv class=\"metafield-rich_text_field\"\u003e\n\n\u003cp\u003e\u003cstrong\u003e面料\u003c\/strong\u003e\u003cbr\u003eULTRA TX50\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e材質細節\u003c\/strong\u003e\u003cbr\u003e- 外部提把：20毫米尼龍織帶\u003cbr\u003e- 束繩：10毫米尼龍織帶\u003cbr\u003e- 拉鍊：YKK #8RC，DWR 防水塗層\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e尺寸 (完全裝滿)\u003c\/strong\u003e\u003cbr\u003e12.8\"L x 5.3\"W x 10\"H | 32.5L x 13.5W x 25.5H cm\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003e重量\u003c\/strong\u003e\u003cbr\u003e4.2盎司 | 117克\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\u003cdiv id=\"war\"\u003e終身保固\u003c\/div\u003e\n\u003cstyle\u003e\n  .ctb-feature-carousel,\n  .ctb-feature-carousel * {\n    box-sizing: border-box;\n  }\n\n  .ctb-feature-carousel {\n    position: relative;\n    width: 100%;\n    max-width: 1440px;\n    margin: 40px auto;\n    padding-inline: 16px;\n    font-family: inherit;\n  }\n\n  .ctb-feature-carousel__track {\n    display: flex;\n    gap: 30px;\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scroll-snap-type: x mandatory;\n    overscroll-behavior-x: contain;\n    scrollbar-width: none;\n    touch-action: pan-x pan-y pinch-zoom;\n    -webkit-overflow-scrolling: touch;\n  }\n\n  .ctb-feature-carousel__track::-webkit-scrollbar {\n    display: none;\n  }\n\n  .ctb-feature-carousel__card {\n    flex: 0 0 86%;\n    min-width: 0;\n    margin: 0;\n    scroll-snap-align: start;\n    scroll-snap-stop: always;\n  }\n\n  .ctb-feature-carousel__image {\n    width: 100%;\n    overflow: hidden;\n    aspect-ratio: 4 \/ 5;\n    background: #f2f2f2;\n  }\n\n  .ctb-feature-carousel__image img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: transform 500ms ease;\n  }\n\n  .ctb-feature-carousel__card:hover img {\n    transform: scale(1.02);\n  }\n\n  .ctb-feature-carousel__title {\n    margin: 20px 0 10px;\n    color: inherit;\n    font: inherit;\n    font-size: 20px;\n    font-weight: 700;\n    line-height: 1.2;\n    letter-spacing: 0.01em;\n    text-transform: uppercase;\n  }\n\n  .ctb-feature-carousel__text {\n    margin: 0;\n    color: inherit;\n    font: inherit;\n    font-size: 15px;\n    line-height: 1.55;\n  }\n\n  .ctb-feature-carousel__arrow {\n    position: absolute;\n    top: 34%;\n    z-index: 3;\n    display: grid;\n    width: 46px;\n    height: 46px;\n    padding: 0;\n    border: 1px solid rgba(0, 0, 0, 0.15);\n    border-radius: 50%;\n    background: rgba(255, 255, 255, 0.94);\n    color: #111;\n    font: inherit;\n    font-size: 28px;\n    line-height: 1;\n    cursor: pointer;\n    place-items: center;\n    transform: translateY(-50%);\n    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.14);\n  }\n\n  .ctb-feature-carousel__arrow--previous {\n    left: 24px;\n  }\n\n  .ctb-feature-carousel__arrow--next {\n    right: 24px;\n  }\n\n  .ctb-feature-carousel__arrow:disabled {\n    visibility: hidden;\n    opacity: 0;\n    pointer-events: none;\n  }\n\n  .ctb-feature-carousel__arrow:focus-visible,\n  .ctb-feature-carousel__dot:focus-visible {\n    outline: 3px solid #3578e5;\n    outline-offset: 3px;\n  }\n\n  .ctb-feature-carousel__navigation {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 9px;\n    margin-top: 24px;\n  }\n\n  .ctb-feature-carousel__dot {\n    width: 9px;\n    height: 9px;\n    margin: 0;\n    padding: 0;\n    border: 0;\n    border-radius: 50%;\n    background: #b5b5b5;\n    cursor: pointer;\n    transition:\n      width 180ms ease,\n      border-radius 180ms ease,\n      background-color 180ms ease;\n  }\n\n  .ctb-feature-carousel__dot.is-active {\n    width: 26px;\n    border-radius: 999px;\n    background: #111;\n  }\n\n  @media (min-width: 900px) {\n    .ctb-feature-carousel {\n      padding-inline: 50px;\n    }\n\n    .ctb-feature-carousel__card {\n      flex-basis: calc((100% - 60px) \/ 3);\n    }\n\n    .ctb-feature-carousel__arrow {\n      top: 31%;\n      width: 52px;\n      height: 52px;\n      font-size: 31px;\n    }\n\n    .ctb-feature-carousel__arrow--previous {\n      left: 64px;\n    }\n\n    .ctb-feature-carousel__arrow--next {\n      right: 64px;\n    }\n\n    .ctb-feature-carousel__title {\n      font-size: 22px;\n    }\n\n    .ctb-feature-carousel__text {\n      font-size: 16px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .ctb-feature-carousel__track {\n      scroll-behavior: auto !important;\n    }\n\n    .ctb-feature-carousel__image img {\n      transition: none;\n    }\n  }\n\u003c\/style\u003e\n\n\u003csection class=\"ctb-feature-carousel\" data-ctb-feature-carousel role=\"region\" aria-roledescription=\"carousel\" aria-label=\"transit packing cube 10l Ultra features\" tabindex=\"0\"\u003e\n  \u003cdiv class=\"ctb-feature-carousel__track\" data-feature-track\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-textile_1.jpg?v=1787796020\u0026amp;width=1600\" alt=\"transit packing cube 10l ULTRA tx50 Shell\" loading=\"eager\" fetchpriority=\"high\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e極致輕量\u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n        ULTRA TX50 是 EVERGOODS 產品中使用過最輕的面料。其防水層壓結構和 UHMWPE 加固材料，創造出極其纖薄的外殼，足以應對重複旅行的耐用性，同時將不必要的重量降至最低。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-compression_1.jpg?v=1787796020\u0026amp;width=1600\" alt=\"transit packing cube 10l ULTRA Bright White Interior\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e輕鬆壓縮\u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n       整合式雙向束繩可將收納領圍繞您的物品，讓 TPC10 輕鬆容納超裝的衣物。一旦拉上拉鍊，收納包的結構會機械式地壓縮內容物，以減少整體體積。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-size-and-fit_1.jpg?v=1787796020\u0026amp;width=1200\" alt=\"transit packing cube 10l ULTRA Textile and Zippers\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e多功能尺寸\u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n     TPC10 的尺寸設計可容納從日常用品到較厚重的旅行衣物，使其同樣適合週末旅行和長期旅行。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-side-handles_1.jpg?v=1787796020\u0026amp;width=1200\" alt=\"transit packing cube 10l ULTRA Signature Panel Loading\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e輕鬆拿取\u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n       TPC10 配備雙提把，採用堅固的 20 毫米尼龍織帶製成，方便從包中快速取出或調整打包位置。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-fit-in-backpacks_1.jpg?v=1787796020\u0026amp;width=1200\" alt=\"transit packing cube 10l ULTRA Laptop Compartment\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e聰明尺寸\u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n      TPC10 專為搭配 EVERGOODS 系列產品而設計。無論您是打包 CTB26、Transit Duffel，還是我們的日常背包，其尺寸都能最大程度地利用可用空間。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n\n    \u003carticle class=\"ctb-feature-carousel__card\"\u003e\n      \u003cdiv class=\"ctb-feature-carousel__image\"\u003e\n\n        \u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/TRANSIT-PACKING-CUBE-10L-TPC10-TX50-WHITE-multi-packouts_1.jpg?v=1787796020\u0026amp;width=1200\" alt=\"transit packing cube 10l ULTRA Water Bottle Pockets\" loading=\"lazy\"\u003e\n      \u003c\/div\u003e\n\n\n      \u003ch3 class=\"ctb-feature-carousel__title\"\u003e\n\n多功能收納\n      \u003c\/h3\u003e\n\n\n      \u003cp class=\"ctb-feature-carousel__text\"\u003e\n       防水輕量的 ULTRA 面料使 TPC10 適用於登山、城市和旅行裝備的收納。\n      \u003c\/p\u003e\n\n    \u003c\/article\u003e\n  \u003c\/div\u003e\n\n\n  \u003cbutton class=\"ctb-feature-carousel__arrow ctb-feature-carousel__arrow--previous\" type=\"button\" data-feature-previous aria-label=\"Previous features\"\u003e‹\u003c\/button\u003e\n\n  \u003cbutton class=\"ctb-feature-carousel__arrow ctb-feature-carousel__arrow--next\" type=\"button\" data-feature-next aria-label=\"Next features\"\u003e›\u003c\/button\u003e\n\n  \u003cdiv class=\"ctb-feature-carousel__navigation\" data-feature-navigation aria-label=\"Feature carousel navigation\"\u003e\u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function () {\n  function initializeFeatureCarousel(root) {\n    if (root.dataset.featureCarouselReady === 'true') return;\n    root.dataset.featureCarouselReady = 'true';\n\n    var track = root.querySelector('[data-feature-track]');\n    var cards = Array.prototype.slice.call(\n      root.querySelectorAll('.ctb-feature-carousel__card')\n    );\n    var previousButton = root.querySelector('[data-feature-previous]');\n    var nextButton = root.querySelector('[data-feature-next]');\n    var navigation = root.querySelector('[data-feature-navigation]');\n    var positions = [];\n    var dots = [];\n    var currentPage = 0;\n    var scrollFrame;\n\n    cards.forEach(function (card, index) {\n      card.setAttribute('role', 'group');\n      card.setAttribute('aria-roledescription', 'slide');\n      card.setAttribute(\n        'aria-label',\n        String(index + 1) + ' of ' + String(cards.length)\n      );\n    });\n\n    function reducedMotion() {\n      return window.matchMedia(\n        '(prefers-reduced-motion: reduce)'\n      ).matches;\n    }\n\n    function calculatePositions() {\n      var maximumScroll = Math.max(\n        0,\n        track.scrollWidth - track.clientWidth\n      );\n      var nextPositions = [];\n\n      cards.forEach(function (card) {\n        var position = Math.min(\n          card.offsetLeft - track.offsetLeft,\n          maximumScroll\n        );\n\n        if (\n          !nextPositions.length ||\n          Math.abs(position - nextPositions[nextPositions.length - 1]) \u003e 2\n        ) {\n          nextPositions.push(position);\n        }\n      });\n\n      positions = nextPositions.length ? nextPositions : [0];\n      currentPage = Math.max(\n        0,\n        Math.min(currentPage, positions.length - 1)\n      );\n\n      buildNavigation();\n      updateControls();\n    }\n\n    function buildNavigation() {\n      navigation.innerHTML = '';\n      dots = [];\n\n      positions.forEach(function (_position, index) {\n        var dot = document.createElement('button');\n\n        dot.type = 'button';\n        dot.className = 'ctb-feature-carousel__dot';\n        dot.setAttribute(\n          'aria-label',\n          'Go to feature group ' +\n            String(index + 1) +\n            ' of ' +\n            String(positions.length)\n        );\n\n        dot.addEventListener('click', function () {\n          goToPage(index);\n        });\n\n        navigation.appendChild(dot);\n        dots.push(dot);\n      });\n    }\n\n    function updateControls() {\n      previousButton.disabled = currentPage === 0;\n      nextButton.disabled = currentPage === positions.length - 1;\n\n      dots.forEach(function (dot, index) {\n        var active = index === currentPage;\n        dot.classList.toggle('is-active', active);\n        dot.setAttribute('aria-current', active ? 'true' : 'false');\n      });\n    }\n\n    function goToPage(index, behavior) {\n      currentPage = Math.max(\n        0,\n        Math.min(index, positions.length - 1)\n      );\n\n      track.scrollTo({\n        left: positions[currentPage],\n        behavior: behavior || (reducedMotion() ? 'auto' : 'smooth')\n      });\n\n      updateControls();\n    }\n\n    function findNearestPage() {\n      var nearestIndex = 0;\n      var nearestDistance = Infinity;\n\n      positions.forEach(function (position, index) {\n        var distance = Math.abs(track.scrollLeft - position);\n\n        if (distance \u003c nearestDistance) {\n          nearestDistance = distance;\n          nearestIndex = index;\n        }\n      });\n\n      return nearestIndex;\n    }\n\n    previousButton.addEventListener('click', function () {\n      goToPage(currentPage - 1);\n    });\n\n    nextButton.addEventListener('click', function () {\n      goToPage(currentPage + 1);\n    });\n\n    track.addEventListener(\n      'scroll',\n      function () {\n        window.cancelAnimationFrame(scrollFrame);\n\n        scrollFrame = window.requestAnimationFrame(function () {\n          var nextPage = findNearestPage();\n\n          if (nextPage !== currentPage) {\n            currentPage = nextPage;\n            updateControls();\n          }\n        });\n      },\n      { passive: true }\n    );\n\n    root.addEventListener('keydown', function (event) {\n      if (event.key === 'ArrowLeft') {\n        event.preventDefault();\n        goToPage(currentPage - 1);\n      }\n\n      if (event.key === 'ArrowRight') {\n        event.preventDefault();\n        goToPage(currentPage + 1);\n      }\n\n      if (event.key === 'Home') {\n        event.preventDefault();\n        goToPage(0);\n      }\n\n      if (event.key === 'End') {\n        event.preventDefault();\n        goToPage(positions.length - 1);\n      }\n    });\n\n    if ('ResizeObserver' in window) {\n      new ResizeObserver(function () {\n        calculatePositions();\n        goToPage(currentPage, 'auto');\n      }).observe(track);\n    }\n\n    calculatePositions();\n  }\n\n  function initializeAllFeatureCarousels(container) {\n    (container || document)\n      .querySelectorAll('[data-ctb-feature-carousel]')\n      .forEach(initializeFeatureCarousel);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () {\n      initializeAllFeatureCarousels(document);\n    });\n  } else {\n    initializeAllFeatureCarousels(document);\n  }\n\n  document.addEventListener('shopify:section:load', function (event) {\n    initializeAllFeatureCarousels(event.target);\n  });\n})();\n\u003c\/script\u003e\n\u003chr\u003e\n\u003cdiv class=\"content-tab-info-section-container-left\"\u003e\n\n\u003cdiv class=\"content-tab-info-section-img\"\u003e\n\n\u003cimg src=\"https:\/\/evergoods.us\/cdn\/shop\/files\/Ultra-Section-Textile-Teaser-LP_4_1.jpg?v=1787793652\u0026amp;width=1024\"\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"content-tab-info-section-txt prose\"\u003e\n\n\u003ch3 class=\"h3\"\u003eULTRA WHITE TX50\n\n\n\u003c\/h3\u003e\n\n\u003cp\u003eULTRA TX50 是 EVERGOODS 產品中使用過最輕的機能性面料。它採用防水層壓和 UHMWPE 交叉層加固，在減輕重量和耐用性之間取得了令人印象深刻的平衡。因此，它是一款輕薄、柔軟的面料，具有近乎半透明的外觀，讓我們的 Transit Packing Cubes 可以收納得更小，同時為您的旅行套件增加最少的重量。\n\u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\u003chr\u003e","brand":"EVERGOODS","offers":[{"title":"White ULTRA TX50","offer_id":46483412385862,"sku":"EVGOTPC10-UW","price":349.0,"currency_code":"MYR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1112\/3836\/files\/tpc10-ultra-tx50-white-front.png?v=1788275475","url":"https:\/\/storminggravity.com\/zh\/products\/transit-packing-cube-10l-ultra","provider":"Storming Gravity","version":"1.0","type":"link"}