Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.11.2014, 02:29
Новичок на форуме
Отправить личное сообщение для Derekovich Посмотреть профиль Найти все сообщения от Derekovich
 
Регистрация: 04.12.2013
Сообщений: 8

css - задание top
Доброго времени суток!
Ребята подскажите пож-та, сижу целый день не могу разобраться.
Собственно проблема - есть два блока с разной высотой контента, и мне нужно, чтобы ссылки в этих блоках были на одинаковом уровне в любом случае. Я решил мерять позицию top, получать макс кол-во, вычислять разницу у элемента с меньшим top и прибавлять то чего не хватает до максимального значения. Все работает но! есть одно но! Стандартно у браузера стоит
body margin 8px
и высота увеличивается на 8px, я немного не понимаю как она считается? и причем тут margin вообще, ведь если я не ошибаюсь, то если элемент relative, то позиция top считается от края родителя, а это у нас div.
Заранее благодарен!!!
<ul>
    <li style="float: left; width:50px;">
        <div style="background-color: green; width: 50px;">
            <a class="test" style="display: inline-block; position: relative; top:70px;" href="#">555555</a>
        </div>
    </li>
    <li style="float: left; width:50px;">
        <div style="background-color: cadetblue; width: 50px; ">
            <a class="test" style="display: inline-block; position: relative; top:50px;" href="#">2122221</a>
        </div>
    </li>
</ul>

var topResults = [];
    $('.test').each(function(){
        topResults.push($(this).position().top);
    });
    var maxResult = Math.max.apply( Math, topResults );

    $('.test').each(function(){
        if ($(this).position().top < maxResult ) {
            $(this).css('top', $(this).position().top + (maxResult - $(this).position().top));
        }
    });
Ответить с цитированием
  #2 (permalink)  
Старый 15.11.2014, 02:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Derekovich,
http://www.cssreset.com/
http://habrahabr.ru/post/45296/
Ответить с цитированием
  #3 (permalink)  
Старый 16.11.2014, 11:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Derekovich
если элемент relative, то позиция top считается от края родителя
Ничего подобного. При relative позиция отсчитывается от начального положения элемента.

Возможно не совсем верно понял, но уверен что можно сделать на css:

<style>
ul{
display: table;
table-layout: fixed;
}
li{
display: table-cell;
width: 50px;
vertical-align: top;
position: relative;
}
div{
margin-bottom: 25px;
}
a{
    position: absolute;
    bottom: 10px;
}
</style>
<ul>
    <li>
        <div style="background-color: green; width: 50px;">
            Контент<br />
            <a class="test" href="#">555555</a>
        </div>
    </li>
    <li>
        <div style="background-color: cadetblue; width: 50px; ">
            Контент<br />
            Еще контент.<br />
            <a class="test" href="#">2122221</a>
        </div>
    </li>
</ul>
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зависание кнопок меню при быстром переключении (onMouseOver) Kapitan79 Элементы интерфейса 3 06.11.2013 18:18
Задание Css свойств по средствам Jquery IONEX jQuery 5 09.01.2012 16:00
Каруселька в форме буквы Maximor17 Элементы интерфейса 0 24.05.2011 11:36
Подскажите по CSS меню Александр_1988 Элементы интерфейса 1 17.05.2010 11:58
Задание CSS для загруженных во фрейм страниц <Pool> Общие вопросы Javascript 1 14.01.2009 16:59