Nano Hash - криптовалюты, майнинг, программирование

Элемент с фиксированной позицией в адаптивном макете

Я работаю над адаптивным макетом и хочу, чтобы виджет оставался фиксированным/прилипающим, то есть он будет следовать за вами, когда вы прокручиваете страницу вниз.

Упрощенный HTML:

<div class="page">
    <div class="content"></div>
    <div class="sidebar">
        <div class="widget1"></div>
        <div class="widget2"></div>
    </div>
</div>

CSS:

.page {
    width:96%;
    max-width:1000px;
    margin:0 auto;
}
.content {
    width:65%;
}
.sidebar {
    width:28%;
    float:right;
}
.widget1 {
    position:fixed;
    padding:7.15%; /* 20px of 280px */
    z-index:10;
}

Проблема: widget1 удаляется из потока при добавлении position:fixed. Это приводит к тому, что процент заполнения рассчитывается из тела и полностью разрушает мой макет. Поскольку он удален из потока, он также больше не занимает 100% ширины боковой панели.

Что мне нужно: чтобы widget1 (с процентным отступом) соответствовал всей ширине sidebar.

Наиболее близкое решение, которое я нашел, предлагает добавить width:inherit к фиксированному элементу. Это прекрасно работает, но только если ширина родителя задана в пикселях, а не в процентах. Это также не помогает с тем фактом, что мне нужно добавить отступы.

Мы будем очень признательны за любые идеи или предложения. Я бы предпочел решение CSS, но я не против использования jQuery.

Если это поможет, я работаю над адаптивной темой на основе Twenty Ten. Сайт находится здесь: http://odin.reaktortest.no/hvorfor-velge-fixit/ Это бежевое поле, которое я хотел бы оставить на месте (#iwajax_contact_widget-2).


  • как вы имеете в виду, что он изменяется? 03.10.2013
  • @MattSaunders При максимальной ширине страницы виджет занимает 28% / 280 пикселей ширины страницы без фиксированного позиционирования. При фиксированном позиционировании он выходит вправо и становится размером 435 пикселей. Высота тоже меняется. Уменьшение окна просмотра делает его меньше 435 пикселей, поэтому кажется, что он использует процент от чего-то другого... 04.10.2013
  • Отредактировал мой вопрос, потому что я понял проблему, хотя еще не понял, как ее исправить. 04.10.2013

Ответы:


1

Вы можете решить это с помощью jquery

var new_width = $('#sidebar').width();
$('.widget').width(new_width); 
26.01.2014
  • Это близко к исправлению, но виджет выходит за пределы своих родительских элементов div (.page и .sidebar). Количество, которое он выплескивает, похоже, равно размеру левого и правого отступов вместе взятых. Я попытался добавить box-sizing:border-box в CSS виджета, но это не решило проблему. 30.06.2014

  • 2

    Примените родительский тег position:relative, а затем примените его к боковой панели как position:fixed и попробуйте также z-index:9999.

    благодаря.

    03.10.2013
  • К сожалению, это не решает основную проблему изменения размера виджета. 03.10.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..