2011-12-09 7 views
7

Mam problem z zawartością zakładki jquery-ui wykraczającą poza szerokość okna przeglądarki. W moim projekcie mam tabelę, która jest zbyt szeroka, ale w podanym przykładzie właśnie utworzyłem element div o szerokości 2000 pikseli w celu zilustrowania problemu. Obszar z zakładkami pozostaje w granicach 100% szerokości (tylko szerokość okna przeglądarki), podczas gdy reszta mojej zawartości jest znacznie większa i przepełnia spakowany obszar zakładek jquery ui.Kontenery jquery-ui przepełnienie zawartości kontenera

Mogę trochę ominąć problem poprzez zawijanie zawartości w div z przepełnieniem y: auto, ale miałem nadzieję, że obszar z zakładkami rozszerzy się wraz z moją zawartością, dzięki czemu można wykorzystać natywne paski przewijania przeglądarki, zamiast używać divs scrollbars.

Testowałem jquery-ui 1.8.1, 1.8.5 i 1.8.16.

Ktoś ma jakieś pomysły na ten temat?

Najwyraźniej nie mogę opublikować zdjęcia, ponieważ nie mam wystarczającej liczby przedstawicieli.

<!DOCTYPE html> 
<head> 
<link type="text/css" href="css/smoothness/jquery-ui-1.8.1.custom.css" rel="stylesheet" /> 
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script> 

<script> 
$(function() { 
    alert("TEST"); 
    $("#tabs").tabs(); 
}); 
</script> 
</head> 
<body> 
<div id="tabs"> 
    <ul> 
     <li> 
      <a href="#tabs-1">Work Request Information</a> 
     </li> 
     <li> 
      <a href="#tabs-2">Assessments</a> 
     </li> 
     <li> 
      <a href="#tabs-3">Work Items</a> 
     </li> 
     <li> 
      <a href="#tabs-4">Documents</a> 
     </li> 
    </ul> 
    <div id="tabs-1"> 
    </div> 
    <div id="tabs-2"> 
     <div style="background-color:red;height:200px;width:2000px;"></div> 
    </div> 
    <div id="tabs-3"> 
    </div> 
    <div id="tabs-4"> 
    </div> 
</div> 
</body> 
</html> 

Odpowiedz

2

Spróbuj ustawić właściwość width css dla # tabs.

$('#tabs').css('width','2000px'); 
+1

To działa, ale zawartość wypełniania kontenera jest dynamiczna, więc nigdy nie dowiem się, jaki będzie rozmiar. O ile oczywiście nie robię hakowania JS, aby znaleźć maksymalną szerokość elementów w kontenerze, ale miałem nadzieję, że uda mi się tego uniknąć, jeśli będzie to czysta poprawka CSS. – tfcmaster9

+0

Sprawdź, czy działa właściwość max-width. W przypadku jQuery powinno to być "max_width"; przekształci to. – rkw

+0

Myślę, że to może być najbliższe, idę do rozwiązania lub usunąć samą granicę kontenera. Dzięki! – tfcmaster9

-1

Z arkusza jQuery UI:

.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ 
+0

Nie jestem pewien, co tu robisz. Ta linia nie wydaje się naprawić bieżącego problemu. Występuje również w FF. – tfcmaster9

0

miałem podobny problem. Przepraszam za wszelkie słabe wykreślenie szczegółów, projekt, nad którym pracuję, podlega umowie o zachowaniu poufności.

To była kwestia, gdzie zaczepy nakładka zawierająca div: tabs's overlaying div's

który został wyleczony przez wywołanie:

$('.tabs').css('height','auto'); 

Wynik końcowy: tabs not overflowing div's anymore

nadzieję, że może to mieć używać do kogoś.

Powiązane problemy