Ein Element, das vor oder nach einem Element innerhalb eines Containers auftauchen sollte. Das Ziehen des Trenners ändert die Größe der Geschwisterelemente des Trenners. Platziert man ein 'Griffchen' (grippy
) innerhalb eines Trenners, so wird ein Geschwisterelement des Trenners beim Anklicken des 'Griffchens' zugeklappt.
Weitere Information sind im XUL Tutorial verfügbar.
- Attribute
- collapse, resizeafter, resizebefore, state, substate
- Styleklassen
- tree-splitter
Beispiele
<splitter tooltiptext="Größe der Suchbox verändern" oncommand="alert('Der Splitter wurde gezogen!')">
<vbox id="Beispiel_vbox" />
</splitter>
Attribute
collapse
- Type: one of the values below
- Determines which side of the
splitter
is collapsed when its grippy is clicked. If this attribute is not specified, the splitter will not cause a collapse. You should put agrippy
element inside the splitter when it is used for collapsing. -
none
- No collapsing occurs.
before
- When the grippy is clicked, the element immediately before the splitter in the same parent is collapsed so that its width or height is 0.
after
- When the grippy is clicked, the element immediately after the splitter in the same parent is collapsed so that its width or height is 0.
both
- Either the element immediately before the splitter, or the element immediately after the splitter can be collapsed, if the size of that element would fall below the minimum size due to the position of the splitter.
resizeafter
- Type: one of the values below
- This attribute indicates which element to the right or below the
splitter
should be resized when the splitter is repositioned. -
closest
- The element immediately to the right or below the splitter resizes.
farthest
- The element that is the farthest away from the splitter to the right or below the splitter resizes.
grow
- The elements to the right or below the splitter do not change size (unless they are flexible) when the splitter is dragged, but instead the entire container changes size.
flex
- The closest flexible element resizes.
resizebefore
- Type: one of the values below
- This attribute indicates which element to the left or above the
splitter
should be resized when the splitter is repositioned. -
closest
- The element immediately to the left or above the splitter resizes.
farthest
- The element that is the farthest away from the splitter to the left or above the splitter resizes.
flex
- The closest flexible element resizes.
state
- Type: one of the values below
- Indicates whether the
splitter
has collapsed content or not. This attribute will be updated automatically as the splitter is moved, and is generally used in a stylesheet to apply a different appearance for each state. -
open
- The content either before or after the splitter, depending on the value of the collapsed attribute, is currently displayed.
collapsed
- The content either before or after the splitter is collapsed and is not visible.
dragging
- The user is current adjusting the position of the splitter, typically by dragging it with the mouse.
substate
- Type: one of the values below
- On splitters which have state="collapsed" and collapse="both", determines which direction the splitter is actually collapsed in. Since collapse="both" is a Gecko 1.9+ feature, this will have no effect on earlier versions.
-
before
- The element immediately before the splitter is collapsed.
after
- The element immediately after the splitter is collapsed.
Eigenschaften
Geerbte Eigenschaften |
Methoden
Styleklassen
Folgende Klassen können benutzt werden, um den Stil des Elements zu bestimmen. Statt den Stil des Elements direkt zu ändern, sollten diese Klassen zu Hilfe genommen werden, da sie sich natürlicher in das vom Benutzer gewählte Theme der Benutzeroberfläche einfügen.
-
tree-splitter
- This splitter is intended to be used in tree columns (in-between
treecol
elements). The splitter will be drawn with no width so that it isn't visible, however, the columns may still be resized.
<tree id="tree1" flex="1" height="300" enableColumnDrag="true"> <treecols> <treecol id="name" label="Name" flex="1"/> <splitter class="tree-splitter"/> <treecol id="id" label="ID" flex="1"/> <splitter class="tree-splitter"/> <treecol id="date" label="Date" flex="1"/> <splitter class="tree-splitter"/> </treecols> <treechildren/> </tree>
Splitter resizing und overflow
Das Maß, welches die Größe der Box verändert und was während der Größenveränderung passiert nachdem das Limit erreicht wurde, hängt von der festgelegten Höhe (oder Breite) der Box, welche über ein Attribut, über eine CSS Anweisung (min-height [oder min-width]) oder die wirkliche Höhe der Boxinhalte bestimmt werden kann, und von der An- oder Abwesenheit des eines collapse
Attributs des Splitters ab.
Bei:
<vbox></vbox> <splitter/> <vbox></vbox>
...wird sich der Splitter nicht bewegen, da kein collapse
Attribute für den Splitter festgeleget wurde, was dazu führt das der Splitter zusammenfällt, sobald er gezogen wird.
Bei:
<vbox></vbox> <splitter/> <vbox height="500"><vbox height="100"/></vbox>
...kann der Splitter bis auf eine Höhe von 100px der unteren Box gezogen werden, wo er nicht weiter gezogen werden kann (oder zusammenfällt, wenn der Splitter über ein collapse
Attribut verfügt).
Bei:
<vbox></vbox> <splitter/> <vbox height="500" minheight="200"><vbox height="100"/></vbox>
...kann der Splitter bis auf eine Mindesthöhe von 200px gezogen werden, wo er stoppen wird oder zusammenfällt.
Bei:
<vbox></vbox> <splitter> <vbox height="500" style="min-height: 50"><vbox height="100"/></vbox>
...kann der Splitter bis unter einer Höhe von 100px der unteren Box gezogen werden, wodurch das Kindelement überläuft, wenn die Mindesthöhe erreicht wird. Dort stoppt oder fällt der Splitter zusammen. Das sollte auch mit einem minheight
Attribut, das kleiner als die wirkliche Höhe ist, möglich sein. (Jedoch funktioniert der Überlauf tatsächlich wegen Bug 513597 nur beim Festlegen von minheight
und minwidth
Attributen oder bei einer Angabe von min-height
oder min-width
über CSS).
Verwandte Themen
TBD