CSS ustawia szerokość, aby wypełnić% pozostałego obszaru

82

Przepraszamy za nieco bzdurny tytuł. Nie mogłem wymyślić, jak lepiej to opisać.

Próbuję zaimplementować gadżet członków Sieci znajomych Google w mojej witrynie (właśnie dostałem się do schematu i chcę go umieścić bez większego przeprojektowania, przynajmniej do testowania).

Mój problem jest następujący:

Mam element div kontenera, który ma szerokość 90% strony głównej (treści). Wewnątrz umieszczam element div w prawo i ustawiam jego szerokość na 300px oraz umieszczam w nim gadżet Google. Chciałbym, aby element div wypełnił 95% miejsca pozostałego po lewej stronie elementu div gadżetu Google.

Nie wiem, czy można mieszać piksele i% z elementami div i szerokościami.

Mam nadzieję, że to ma sens.

Dzięki

Jon
źródło
Powiązane stackoverflow.com/questions/4873832/ ...
Adrien będzie

Odpowiedzi:

70

To jest. Szukasz układu półpłynnego. Zadanie było pierwotnie świętym Graalem implementacji CSS ... Ale jak widać z tego linku (robią 3 kolumny, 2 naprawione, ale łatwo je zmienić), jest to problem rozwiązany od dawna =)

Oli
źródło
Wygląda idealnie. Dziękuję Ci. Będę się tym bawić przez weekend.
Jon
44
To właśnie artykuły takie jak ten potwierdzają mój obawę, że CSS jest daleki od dobrego narzędzia do układania.
s4y
11
@Sidnicious Jako ktoś, kto zajmuje się tym [konwertowaniem projektów na strony internetowe] jako moim chlebem powszednim, mogę powiedzieć, że jest to o wiele lepsze niż cokolwiek innego, co było wcześniej lub zostało zasugerowane. To nie jest idealne i musisz wiedzieć, jak to działa ... Ale kiedy już to zrobisz, jest to proste.
Oli,
ale jeśli chcesz zmienić szerokość kolumny, musisz edytować wartości w każdym miejscu. Istnieje irytujące stwierdzenie „jeśli to działa, nie dotykaj go za wszelką cenę i nie krytykuj tego”, ale układ może być znacznie łatwiejszy. jeśli po prostu zmieszasz% i px i odniesiesz się do innych wartości, wszystko będzie o wiele prostsze.
Jonathan.
1
@Jonathan. Nie ma wątpliwości, że to prawda - zmienne na żywo i artmetyka w CSS znacznie ułatwiłyby sprawę, ale tego nie mamy. Jeśli chcesz rozbić plastyczność, spójrz na LESS / SASS / etc. To połowa rozwiązania.
Oli,
0

Zrobiłem też szybki eksperyment po przyjrzeniu się wielu potencjalnym rozwiązaniom w każdym miejscu. Próbowałem stworzyć mieszankę płynnych i stałych rzędów i kolumn.

Oto, na czym skończyłem:

http://jsbin.com/hapelawake

Anthony Tambrin
źródło
0

Jeśli wolisz unikać pływaków i poprawek, użyj układu elastycznego.

.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>

Uwaga: Dodaj przedrostki dostawców elastycznych, jeśli wymagają tego obsługiwane przeglądarki .

Reggie Pinkham
źródło
-1

Teraz pracuję nad JS3. JS3 to koncepcja zintegrowanego JavaScript 1.8 w fazie DOM Eased do przetwarzania przychodzącego kodów JS podobnych do natywnych w HTML5, aby przetwarzać je jako język prostoty i integralnego programowania. Poprosiłem o JavaScript w latach 1996 i 1997 po zauważeniu, że nie można uzyskać dostępu do Treści, która była kontrolowana przez skrypty ActiveX. Mój ojciec pracujący w firmie Digital Equipment Corporation, która została zakupiona przez firmy Compaq i HP, zdał sobie sprawę z wagi moich oświadczeń i uzyskał kwalifikacje do pracy dla zamożniejszej korporacji niż HP, Revenio i Ionas, a konkretnie Oracle, aby zrozumieć J2EE. Firma HP może obsługiwać przechodzenie z J2EE do przychodzącego HTML5, ale nie będzie mieć problemów.

Biorąc pod uwagę moją podstawową koncepcję i strukturę wsparcia w rozwoju, JS3 może tworzyć przemierzające przetwarzanie algorytmów przechodzenia OOP HTML5 kwalifikujących się w jQuery lub JS i renderować do kodu przychodzącego, który sprawdza przetwarzanie w celu renderowania zaawansowanych funkcji CSS3 zwykle zarezerwowanych dla JavaScript 1.7 lub JavaScript 1.8, takie jak Liquify zauważone w 2002 roku, kiedy mój brat dołączył do Black Makers at Rutgers i UMASS. Jego umiejętności w zakresie wiedzy przetwarzane w Perlu, Pythonie i innych można przenieść do JS3 oraz CSS4 i HTML6. Obecnie większość nowych kodów CSS3 nie jest ustandaryzowana, ale HTML5 może przetwarzać CSS4, który z czasem miałby nastąpić w 2030 r., Ale może wejść w fazę testów w 2021 r. Aplikacja Media Queries, nieobsługiwana w 2009 r., Kiedy wspomniałem o tym mojemu menedżerowi w HIT Web Design, znany również jako Heritage Web Solutions, Opisałem poważnie z Heidi Kafton, wielkim kierownikiem projektu typu boskiego, został zintegrowany ze standardami sieciowymi w przydziale zapytań o media. Dobrze jest zbadać każde z moich zapytań dotyczących kodowania, ponieważ można je przetworzyć w rozwój nowej technologii. Zapytania o media nie przechodzą aktywnie przez pozostałą przestrzeń i dynamicznie ustawiają szerokość elementu „reszta”, ale w responsywnym CSS4 strona przechodziłaby fazowo przy użyciu stylu formatu CSS odpowiadającego właściwościom (z opcjami Odwróć, Trawers, Odwrotna faza projektu) automatycznie i tylko wymaga Media Queries, jeśli użytkownik chce konkretnie nieskomplikowanego projektu. W przeciwnym razie złożoność można wypracować z CSS3 Responsive w CSS4 za pomocą Invert, Divert, Traverse,

Odniesienie:

Jeśli kompilacja nie reaguje, możesz przetestować i ustawić szerokość elementu, wykonując proste obliczenia matematyczne.

Moje zespoły w Indiach, Pakistanie i innych krajach rozwijających się napotkały podobne problemy podczas tworzenia systemu mediów opartego na elastycznej siatce.

MpatapoMedia
źródło