• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:25
CEST 07:25
KST 14:25
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN3The Memories We Share - Facing the Final(?) GSL19Code S RO12 Preview: Cure, Zoun, Solar, Creator4[ASL19] Finals Preview: Daunting Task30[ASL19] Ro4 Recap : The Peak15
Community News
Weekly Cups (May 19-25): Hindsight is 20/20?0DreamHack Dallas 2025 - Official Replay Pack8[BSL20] RO20 Group Stage2EWC 2025 Regional Qualifiers (May 28-June 1)17Weekly Cups (May 12-18): Clem sweeps WardiTV May3
StarCraft 2
General
Code S RO12 Preview: GuMiho, Bunny, SHIN, ByuN Can anyone explain to me why u cant veto a matchup The Memories We Share - Facing the Final(?) GSL Karma, Domino Effect, and how it relates to SC2. Code S RO12 Preview: Cure, Zoun, Solar, Creator
Tourneys
[GSL 2025] Code S:Season 2 - RO12 - Group B EWC 2025 Regional Qualifiers (May 28-June 1) DreamHack Dallas 2025 [GSL 2025] Code S:Season 2 - RO12 - Group A RSL: Revival, a new crowdfunded tournament series
Strategy
Connect with Key Decision-Makers Through Ready Mai Simple Questions Simple Answers [G] PvT Cheese: 13 Gate Proxy Robo
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 475 Hard Target Mutation # 474 Futile Resistance Mutation # 473 Cold is the Void Mutation # 472 Dead Heat
Brood War
General
Will foreigners ever be able to challenge Koreans? BGH auto balance -> http://bghmmr.eu/ Battle.net is not working BW General Discussion Practice Partners (Official)
Tourneys
[ASL19] Grand Finals [BSL20] RO20 Group D - Sunday 20:00 CET [BSL20] RO20 Group B - Saturday 20:00 CET Small VOD Thread 2.0
Strategy
I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
Other Games
General Games
Path of Exile Nintendo Switch Thread Monster Hunter Wilds Beyond All Reason Battle Aces/David Kim RTS Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread TL Mafia Plays: Diplomacy TL Mafia: Generative Agents Showdown Survivor II: The Amazon
Community
General
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread All you football fans (soccer)! European Politico-economics QA Mega-thread
Fan Clubs
Serral Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion!
Sports
2024 - 2025 Football Thread NHL Playoffs 2024 Formula 1 Discussion NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard How to clean a TTe Thermaltake keyboard?
TL Community
The Automated Ban List TL.net Ten Commandments
Blogs
Need Your Help/Advice
Glider
Trip to the Zoo
micronesia
Yes Sir! How Commanding Impr…
TrAiDoS
Poker
Nebuchad
Info SLEgma_12
SLEgma_12
SECOND COMMING
XenOsky
WombaT’s Old BW Terran Theme …
WombaT
Customize Sidebar...

Website Feedback

Closed Threads



Active: 23195 users

The Amazing IE8 - CSS Problems

Blogs > tofucake
Post a Reply
tofucake
Profile Blog Joined October 2009
Hyrule19022 Posts
Last Edited: 2010-07-13 21:02:03
July 13 2010 20:29 GMT
#1
I've been having some issues with IE8, IE7, and Firefox 3.6.6.

Namely, applying overflow to part of a table (of tabular data, not a table used for layout...because that's bad).

In Firefox, Opera, and Chrome, you can apply a style, class, or id to any thead, tfoot, or tbody element, and the results are as expected.

In IE8, any style, class, and/or id styling rules are applied to each individual row within the section.

In IE7, everything goes to hell.

Example:
thead
{
border: 2px solid black;
padding: 3px;
}

tbody
{
max-height: 450px;
overflow: scroll;
}

applied to

<table>
<thead>
<tr>
<th>Col Header 1</th>
<th>Col Header 2</th>
<th>Col Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>col data 1</td>
<td>col data 2</td>
<td>col data 3</td>
</tr>
[ .. say...300 rows of similar .. ]
</tbody>
</table>


Behaves pretty much as expected in Firefox: only the tbody section scrolls while the column headers remain stationary (like freezing panes in Excel).

In IE8, partially due to another bug where max-height is treated exactly like height, the entire table scrolls (thead shouldn't!) and each row inside tbody is 450px tall.

In IE7, a similar result is seen as in IE8, but, mostly due to some totally rational and legit formatting before the table, the entire table winds up being shifted 1000px to the right of all other data on the page, and, due to IE7, all tbody items are crammed into the width of the first column header.

The result? I end up programming for at least 3 different browsers.

I fixed it in IE8 with a div and a bit of annoying styling that took a while to get right, and I gave up on IE7 for the day.

Does anyone know anything about these effects and what solutions may exist?

ps: damn you, Microsoft

[edit]
PPS - this is handy: http://gerrendesign.com/weblog/2008/05/ie7_css_hack.php

Liquipediaasante sana squash banana
apm66
Profile Blog Joined April 2010
Canada943 Posts
Last Edited: 2010-07-13 20:36:35
July 13 2010 20:35 GMT
#2
"The result? I end up programming for at least 3 different browsers."

Well, that's what you should be expecting when doing web design. Designing and coding websites that must work on various browsers as each reads css differently. That's the main reason why i quit web design
(╯°□°)╯︵ ┻━┻
ilbh
Profile Blog Joined May 2007
Brazil1606 Posts
July 13 2010 20:45 GMT
#3
do you really have to use tables? div gives you way more options and everything...
if you can you should try using divs instead of tables.
Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest.
[-Bluewolf-]
Profile Blog Joined January 2003
United States609 Posts
Last Edited: 2010-07-13 21:26:32
July 13 2010 20:52 GMT
#4
On July 14 2010 05:29 tofucake wrote:
The result? I end up programming for at least 3 different browsers.


Incorrect. Instead, you learn to write code that works in all 3 browsers to begin with. It does take time to learn to write markup in this fashion, but cross-browser problems eventually become rare as you gain more experience in how to write markup.

PS: If you think the difference in browsers is bad now, try Internet Explorer 6 (still in use today, although most developers no longer support it). It was nearly impossible to write complicated markup for that browser, and even Wikipedia notes a few of its faults.

EDIT: The general idea of my post is that I found that I learned to avoid markup that causes problems in different browsers and focus on techniques that have a universal correct output (similar to how I learned one way to write mobile J2ME code that wouldn't mess up on various devices that each had their own implementation). In short, a style that is coded to one unwritten common standard rather than to multiple standards, if that makes any sense.

This post has been taken badly however - I apologize to the OP for any offense taken. For other readers, please disregard and skip this post. The general idea sounded better in my head. Sorry!
The melody of logic always plays the notes of truth.
tofucake
Profile Blog Joined October 2009
Hyrule19022 Posts
July 13 2010 20:53 GMT
#5
On July 14 2010 05:45 ilbh wrote:
do you really have to use tables? div gives you way more options and everything...
if you can you should try using divs instead of tables.

I'm tabulating data. In fact, the page is based off of an Excel sheet. It's tabular and therefore requires tables. I'm not going to muck with divs for tabular data when the end result is currently 43k lines long.

Anyway, this is the only time I've needed to do some serious workarounds. My other work for the past 7 years or so has been pretty consistent across all browsers.
Liquipediaasante sana squash banana
tofucake
Profile Blog Joined October 2009
Hyrule19022 Posts
Last Edited: 2010-07-13 21:01:07
July 13 2010 20:54 GMT
#6
On July 14 2010 05:52 [-Bluewolf-] wrote:
Show nested quote +
On July 14 2010 05:29 tofucake wrote:
The result? I end up programming for at least 3 different browsers.


Incorrect. Instead, you learn to write code that works in all 3 browsers to begin with. It does take time to learn to write markup in this fashion, but cross-browser problems eventually become rare as you gain more experience in how to write markup.

INCORRECT. I've been making websites for years. The problems I've been experiencing today are due to IE7 behaving differently from IE8 which behaves differently from EVERY OTHER BROWSER. It's not a problem with my markup, it's a problem with IE.

[edit]
If you need more evidence, you can read plenty more about IE8 being dumb about overflow in general.
Liquipediaasante sana squash banana
Ethenielle
Profile Blog Joined December 2005
Norway1006 Posts
July 13 2010 21:05 GMT
#7
On July 14 2010 05:52 [-Bluewolf-] wrote:
Show nested quote +
On July 14 2010 05:29 tofucake wrote:
The result? I end up programming for at least 3 different browsers.


Incorrect. Instead, you learn to write code that works in all 3 browsers to begin with. It does take time to learn to write markup in this fashion, but cross-browser problems eventually become rare as you gain more experience in how to write markup.

PS: If you think the difference in browsers is bad now, try Internet Explorer 6 (still in use today, although most developers no longer support it). It was nearly impossible to write complicated markup for that browser, and even Wikipedia notes a few of its faults.


It's pretty hilarious that you insult him for writing bad code and then contradict your own insult in a "PS".

Also, if you really want help to fix that stuff I'd suggest stack overflow
Theres a fine line between fishing and just standing on the shore like an idiot.
Osmoses
Profile Blog Joined October 2008
Sweden5302 Posts
July 13 2010 21:38 GMT
#8
Internet Explorer is the devil for webdesigners. Usually everything works great in all browsers except IE. Of course, that means 3 separate css for IE8, IE7 and IE6. My professional opinion is that if people are still using IE6 they can suit their damn selves for having nothing work properly, maybe take it as an incentive for upgrading, but whatever...
Excuse me hun, but what is your name? Vivian? I woke up next to you naked and, uh, did we, um?
darmousseh
Profile Blog Joined May 2010
United States3437 Posts
Last Edited: 2010-07-13 23:05:47
July 13 2010 23:04 GMT
#9
I'm a webdesigner and I'll tell you there are some problems that are just not compatible across browsers. The only solutions i've done in the past is to either 1. recommend a different layout or design 2. Add conditionals for which css style sheet to use. Don't even get me started with chrome js either. Here's a fun js exception.

new_window = window.open( url, "new_window_underneath", params );
if (navigator.userAgent.indexOf('Chrome/') <= 0) {
new_window.blur();
}
else
{
window.blur();
}
window.focus();
Developer for http://mtgfiddle.com
Xapti
Profile Joined April 2010
Canada2473 Posts
July 13 2010 23:12 GMT
#10
Mantra for web designing cross-browser:

Work on web compliance first (generally using opera or FF works for testing this stage)
Then use conditional comments for each version of internet explorer. Does that not solve your problem, or is IE outright lacking some functionality?

There are some scripts you can use to add functionality to older versions of IE as well - put them in conditional comments of course.

Overall, there are many problems with different versions of IE like you mentioned. It is one of the many reasons why IE is such a bad web browser, and why things are done the way they are (conditional comments for each version)
"Then he told me to tell you that he wouldn't piss on you if you were on fire" — "Well, you tell him that I said that I wouldn't piss on him if he was on Jeopardy!"
funkie
Profile Blog Joined November 2005
Venezuela9374 Posts
July 14 2010 00:32 GMT
#11
Yes.

Stop using tables, and start using divs, you can even make them divs behave like tables by simple css.

:o
CJ Entusman #6! · Strength is the basis of athletic ability. -Rippetoe /* http://j.mp/TL-App <- TL iPhone App 2.0! */
a176
Profile Blog Joined August 2009
Canada6688 Posts
July 14 2010 00:57 GMT
#12
On July 14 2010 08:12 Xapti wrote:
Mantra for web designing cross-browser:

Work on web compliance first (generally using opera or FF works for testing this stage)
Then use conditional comments for each version of internet explorer. Does that not solve your problem, or is IE outright lacking some functionality?

There are some scripts you can use to add functionality to older versions of IE as well - put them in conditional comments of course.

Overall, there are many problems with different versions of IE like you mentioned. It is one of the many reasons why IE is such a bad web browser, and why things are done the way they are (conditional comments for each version)


I've done it the other way around. Program for IE first. Then worry about everything else after.
starleague forever
tofucake
Profile Blog Joined October 2009
Hyrule19022 Posts
Last Edited: 2010-07-14 01:16:55
July 14 2010 01:16 GMT
#13
On July 14 2010 08:12 Xapti wrote:
Mantra for web designing cross-browser:

Work on web compliance first (generally using opera or FF works for testing this stage)
Then use conditional comments for each version of internet explorer. Does that not solve your problem, or is IE outright lacking some functionality?

There are some scripts you can use to add functionality to older versions of IE as well - put them in conditional comments of course.

Overall, there are many problems with different versions of IE like you mentioned. It is one of the many reasons why IE is such a bad web browser, and why things are done the way they are (conditional comments for each version)

The thing about this particular issue is that it's such an obscure bug that it's hard to fix (it took me many hours to find some information about how to work around it...and even then my solution only works in IE8 (I need to work on IE7 fix tomorrow).


On July 14 2010 09:32 funkie wrote:
Yes.

Stop using tables, and start using divs, you can even make them divs behave like tables by simple css.

:o

I've explained this repeatedly: the table in question is holding tabular data. I'm using a table for its intended purpose. I'm not going to recreate the table structure using divs and more styling when it's built in to the markup.



I'm asking for help here, people, with this obscure problem. I don't need people telling me to not use tables for tabular data. Tables shouldn't be used for layouts, I know that already. What they should be used for is tabular data. Whoever taught you to never use tables is dumb.
Liquipediaasante sana squash banana
Please log in or register to reply.
Live Events Refresh
Next event in 3h 35m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 208
StarCraft: Brood War
TY 3441
Mind 92
ToSsGirL 57
Shinee 27
Noble 14
League of Legends
JimRising 757
Counter-Strike
Stewie2K638
Super Smash Bros
Mew2King143
Heroes of the Storm
Khaldor117
Other Games
summit1g7791
C9.Mang0419
Skadoodle187
Organizations
Other Games
gamesdonequick793
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• practicex 97
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• RayReign 137
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Doublelift3643
• Lourlo1035
• Stunt327
• HappyZerGling96
Upcoming Events
Road to EWC
3h 35m
Road to EWC
4h 35m
Road to EWC
16h 35m
Road to EWC
1d 3h
Road to EWC
1d 10h
BSL Season 20
1d 12h
Sziky vs Razz
Sziky vs StRyKeR
Sziky vs DragOn
Sziky vs Tech
Razz vs StRyKeR
Razz vs DragOn
Razz vs Tech
DragOn vs Tech
Online Event
1d 22h
Clem vs ShoWTimE
herO vs MaxPax
Road to EWC
2 days
BSL Season 20
2 days
Bonyth vs Doodle
Bonyth vs izu
Bonyth vs MadiNho
Bonyth vs TerrOr
MadiNho vs TerrOr
Doodle vs izu
Doodle vs MadiNho
Doodle vs TerrOr
Replay Cast
2 days
[ Show More ]
Replay Cast
3 days
Replay Cast
4 days
The PondCast
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2025-05-28
DreamHack Dallas 2025
Calamity Stars S2

Ongoing

JPL Season 2
BSL Season 20
KCM Race Survival 2025 Season 2
NPSL S3
Rose Open S1
CSL Season 17: Qualifier 1
2025 GSL S2
Heroes 10 EU
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025

Upcoming

CSL Season 17: Qualifier 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
CSLPRO Last Chance 2025
CSLAN 2025
K-Championship
SEL Season 2 Championship
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Bellum Gens Elite Stara Zagora 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.