CSS встановлює ширину, щоб заповнити% залишкової площі


82

Вибачте за трохи сміттєву назву. Я не міг подумати, як краще описати цей.

Я намагаюся впровадити гаджет для членів Google Friend Connect на своєму сайті (щойно потрапив у схему і хочу ввести її без серйозного редизайну, принаймні для тестування).

Моя проблема полягає в наступному:

У мене є контейнер div, який має ширину 90% головної сторінки (тіла). Усередині цього я плаваю div вправо і встановлюю його ширину 300px і поміщаю в нього гаджет Google. Я б хотів, щоб div міг заповнити 95% місця, що залишилося ліворуч від div гаджета Google.

Я не знаю, чи можна змішувати px і% з divs і width.

Сподіваюсь, це має сенс.

Дякую


Відповіді:


70

Це є. Ви шукаєте напіврідку компоновку. Квест був спочатку святим Граалем реалізації CSS ... Але, як ви можете бачити за цим посиланням (вони роблять 3 стовпці, 2 виправлені, але це легко змінити), це проблема, яку давно вирішено =)


Виглядає ідеально. Дякую. У мене буде вихід з цим на вихідних.
— Джон

44
Саме такі статті підтверджують мій страх, що CSS далеко, далеко не хороший інструмент для верстки.
— s4y

11
@Sidnicious Як хтось, хто робить це [перетворення дизайну на веб-сайти] як мою хлібо-масляну роботу, я можу сказати вам, що це набагато краще, ніж будь-що інше, що було раніше або пропонувалося з тих пір. Це не ідеально, і вам потрібно знати, як це працює ... Але як тільки ви це зробите, це просто.
— Олі

але якщо ви хочете змінити ширину стовпця, вам доведеться редагувати значення повсюдно. Існує прикрі поняття: "якщо це працює, не торкайтеся його будь-якою ціною, і, будь ласка, не критикуйте це", але макет може бути значно простішим. якщо просто змішати% та px і посилатися на інші значення, все було б набагато простіше.
— Джонатан.

1
@ Джонатан. Немає сумнівів, що це правда - змінні в реальному часі та артметика в CSS значно спростили б ситуацію, але у нас цього немає. Якщо ви хочете зламати пластичність, подивіться на LESS / SASS / тощо. Вони - половина рішення.
— Олі

0

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

Це те, з чим я закінчився:

http://jsbin.com/hapelawake


0

Якщо ви віддаєте перевагу уникати плаваючих та виправлених виправлень, використовуйте гнучке розташування.

.main {
  display: flex;
  width: 90%;
}
.col1 {
  flex-grow: 1;
}
.col2 {
  width: 300px;
  margin-left: 5%;
}
<div class="main">
  <div class="col1" style="background: #518cf3;">Left column</div>
  <div class="col2" style="background: #94d0bb;">Right column</div>
</div>

Примітка. Додайте префікси постачальників гнучких, якщо це потрібно вашим підтримуваним браузером .


-1

Зараз працює над JS3. JS3 - це концепція інтегрованого JavaScript 1.8 у полегшену фазу DOM для вхідної обробки кодів JS, схожих на власні в HTML5 для обробки як мови простоти та інтегральної розробки. Я запитував JavaScript протягом 1996 та 1997 років, помітивши, що доступ до вмісту, який контролюється сценаріями ActiveX, неможливий. Мій батько, який працював у Digital Equipment Corporation, яку придбали Compaq та HP, зрозумів важливість моїх заяв і отримав право працювати в більш заможній корпорації, ніж HP, Revenio та Ionas, зокрема Oracle, щоб зрозуміти J2EE. HP може підтримувати перехід J2EE у вхідний HTML5, водночас повертаючись, щоб не мати проблем.

Думаючи про мою основну концепцію та структурну підтримку в розробці, JS3 може створити траверсивну обробку допустимих алгоритмів обходу OOP HTML5 у jQuery або JS та відтворити у вхідний код, який перевіряє, чи потрібно обробляти додаткові функції CSS3, зазвичай зарезервовані для JavaScript 1.7 або JavaScript 1.8, такий як Liquify помітив у 2002 році, коли мій Брат приєднався до Black Makers у Rutgers та UMASS. Його навички знань, опрацьовані на Perl, Python та інших, можна перенести в JS3, а також в CSS4 та HTML6. В даний час більшість нових кодів CSS3 не стандартизовані, але HTML5 може обробляти CSS4, що за часом настане в 2030 році, але може вступити у фазу тестування в 2021 році. Застосування медіа-запитів, не підтримане в 2009 році, коли я згадав про це своєму менеджеру на Веб-дизайн HIT, також відомий як Heritage Web Solutions, Я щиро розповідав про Хайді Кафтон, чудовому керівнику проектів божественного типу, який був інтегрований у веб-стандарти у розподілі медіа запитів. Добре дослідити будь-які мої запити щодо кодування, оскільки вони можуть бути перероблені на розвиток нових технологій. Медіа-запити не здійснюють активного обходу залишкового простору і динамічно встановлюють ширину елемента "залишок", але в адаптивному CSS4 сторінка фазуватиметься із використанням стилю адаптивного формату властивості CSS (з параметрами Invert, Traverse, Reciprocal Design Phasing) автоматично реагуючи і лише вимагає медіа-запитів, якщо користувач хоче спеціально не складний дизайн. В іншому випадку складність можна розробити з CSS3 Responsive в CSS4 за допомогою Invert, Divert, Traverse,

Довідково:

Якщо збірка не реагує, ви можете протестувати та встановити ширину елемента, виконавши прості математичні розрахунки.

Мої команди в Індії, Пакистані та інших країнах, що розвиваються, стикалися з подібними проблемами, будуючи систему засобів масової інформації, що реагує на рідини.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.