2010-03-26 3 views
0

Когда я показываю скрытый div, который хранится внутри тега <li>, значки нажимают вниз на нижнюю часть <li>. Как я могу это предотвратить?Размещение значков относительно элементов списка

Вот HTML:

<ul> 
<li>Utah 
    <ul> 
     <li>Park City 
     <ul> 
      <li>Park Cat 1 
        <div><img class="portf_edit" /></div> 
        <div><img class="portf_archive" /></div> 
        <div><img class="portf_delete" /></div> 
      </li> 
      <li>Skiing 
        <div><img class="portf_edit" /></div> 
        <div><img class="portf_archive" /></div> 
        <div><img class="portf_delete" /></div> 
      </li> 
     </ul> 
     </li> 
    </ul> 
</li> 
</ul> 

Вот литий CSS:

li { 
list-style-type:none; 
vertical-align: top; 
list-style-image: none; 
left:0px; 
text-align:left; 
clear: both; 
} 
.portf_edit{ 
float:right; 
position: relative; 
right:50px; 
display:block; 
} 
.portf_archive{ 
float:right; 
position: relative; 
right:-5px; 
display:block; 
} 
.portf_delete{ 
float:right; 
position: relative; 
right: -60px; 
display:block; 
} 

Вот снимок экрана до расширения, который показывает иконки, как я хочу, чтобы они выстраиваются в очередь:

alt text http://www.redsandstech.com/css_layout_problem1.jpg

Вот скриншот перед расширением, который показывает где значки подталкивают к:

alt text http://www.redsandstech.com/css_layout_problem2.jpg

+0

Может потребоваться опубликовать немного кода. –

+0

Извините, забыли включить ... это сейчас. – Ronedog

ответ

1

Если вы правильно плаваете кнопки EDIT/ARCHIVE/DELETE, укажите их перед текстом. Пример:

<li> 
    <div><img class="edit" /></div> 
    <div><img class="archive" /></div> 
    <div><img class="delete" /></div> 
    Park Cat 1 
</li> 

Также вам может потребоваться указать ширину на LI; что-то вроде «100%».

+0

Я думаю, что проблема заключается в том, что изображения смещаются влево, а не вниз, но это будет следующей проблемой для поверхности. – keithjgrant

+0

Это фиксировало его без необходимости добавлять ширину. Благодаря! – Ronedog

1

Вы должны сделать <li> высокими, как ваши изображения.

<li class="with-icons">Skiing 
    <div><img class="portf_edit" /></div> 
    <div><img class="portf_archive" /></div> 
    <div><img class="portf_delete" /></div> 
</li> 

и

li .with-icons { 
    height: 32px; // adjust according to your image size 
} 

Вы можете быть в состоянии опустить div вокруг каждого изображения тоже. Не уверен, что они необходимы.

+0

спасибо за ответ. у div есть некоторые события onclick, которые я вынул для простоты чтения кода. Проблема закончилась тем, что я поставил divs. Спасибо за ваш ответ. – Ronedog

+0

У меня был правильный ответ, затем я отредактировал его. Всегда доверяйте своей кишке! – keithjgrant

Смежные вопросы