div с шириной 100% внутри div с шириной 90% не работает

0

Я сделал слайдер изображения для моей домашней страницы форума, но содержимое выходит из оболочки.

Как я могу убедиться, что содержание всегда будет на 100% шириной обертки?

HTML:

<div id="wrapper">
  <table>
    <tbody>
      <tr>
        <td>
          <div class="rg-content">
            //image slider code
          </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>

CSS:

#wrapper {
  margin: 0 auto;
  max-width: 980px;
  width: 90%;
  background: linear-gradient(#fefefe, #e7e7e7);
}

.rg-content {
  width: 100%;
  background: #101010;
}

Скриншот:

Изображение 174551

  • 0
    попробуйте display: block или display: inline-block на css ... и зачем использовать таблицы?
  • 0
    Не могли бы вы использовать таблицы? jsfiddle.net/jzLN6/2
Показать ещё 1 комментарий
Теги:
width
wrapper

2 ответа

0

Что происходит

Похоже, ваш #wrapper не имеет overflow установленного в hidden. Лично я, как правило, держаться подальше от tables и использовать либо float "D block элементы или inline-block элементов. Недавно я построил слайдер с использованием figure для внешнего обложки, ul для внутренней обмотки фиксированной ширины и li для каждого элемента. Мне пришлось перевести figure в overflow:hidden для нее, чтобы скрыть все, что не должно было быть видимым. Попробуйте добавить это.

Код

#wrapper {
    overflow:hidden;
}
  • 0
    Таблицы являются стандартными для контента на форумах SFM, я удалил все стили из таблиц, чтобы они не влияли на мои div. Переполнение: скрытый действительно скрывает все, что находится за пределами оболочки, но я не хочу, чтобы это было скрыто, я хочу, чтобы он автоматически настраивал свою ширину, чтобы она помещалась внутри оболочки.
  • 0
    Вы сказали, что это слайдер в вашем вопросе, но теперь вы говорите, что хотите поместить все в оболочку. Если все это видно в обертке, как оно скользит?
Показать ещё 2 комментария
0

Просто добавь

<table style="width:100%;">

http://jsfiddle.net/jzLN6/

РЕДАКТИРОВАТЬ:

в соответствии с вашим jsfinddle и вашими комментариями я внес некоторые изменения, чтобы получить этот результат

http://jsfiddle.net/bB9tQ/4/embedded/result/

не является полностью функциональным, но может быть, это основная идея того, что вы хотите сделать

поэтому, если вы хотите, чтобы макет был жидким, вам придется сделать некоторые изменения

удалите de px вашей ul и измените свой дисплей на встроенный блок, потому что, если у вас есть

display: block

это заставит ваши элементы li потерять нормальный поток на странице, и вы не сможете использовать%, чтобы растянуть контент

 <ul style="width: 100%; display: inline-block; margin-left: ;">

после этого вы должны использовать% для каждого тега li вместо px.

если это подход к тому, что вам нужно, сообщите мне, чтобы дать вам более продуманный пример

  • 0
    Это не работает, когда есть контент внутри, плохо.
  • 0
    Вы можете опубликовать один jsfiddle, чтобы лучше понять.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню