www.webdeveloper.com
Results 1 to 3 of 3

Thread: [RESOLVED] IE7 CSS width:100% issue (I know, again)

  1. #1
    Join Date
    Aug 2007
    Location
    New Jersey, US
    Posts
    1,779

    resolved [RESOLVED] IE7 CSS width:100% issue (I know, again)

    I'm working on a CSS template for a responsive %-based grid. I had it working with IE7 earlier and did something stupid, I guess, and now it's not working.

    http://danmathisen.com/respond-css/

    How it currently works:

    Columns are percent based. So a 1/3 width column (.col-1-3) will be width:32% + margin-left:1% + padding:1%. This is based on Chris Coyier's Don't Overthink It Grids.

    In modern browsers, the padding doesn't affect the div width. But in IE7 it does. So I have IE classes (.lt-ie8) that accomodate for the 1% padding. .lt-ie8 .col-1-3 { width: 30%; }. So 30% width + 1% margin-left + 2% padding left/right * 3 - 1% :first-child = 100%. Right? Why doesn't that work in IE7?

    Solutions:

    I can use behavior: url(/scripts/boxsizing.htc); but hope to make this workable without.

    Or use JS to calculate the width then subtract 1px. I think that would work, but it's not ideal.

    Or settle with 99% width. Also not ideal.

    I'd love a CSS-only solution. Any thoughts?
    Last edited by dtm32236; 01-18-2013 at 02:48 PM.

  2. #2
    Join Date
    Mar 2011
    Posts
    1,158
    Whatever you do, you don't want to compromise your design just to accommodate IE7. IE7 usage is generally under 2% worldwide and it's only going to get smaller, so it wouldn't make sense to do anything more than use a conditional comment, perhaps with a <style> to adjust the width.

  3. #3
    Join Date
    Aug 2007
    Location
    New Jersey, US
    Posts
    1,779
    Hey, thanks for taking a look. And I totally agree regarding not letting IE compromise a layout.

    I decided to go a hackish route and just played with column percentages in IE until they worked. I ended up with:

    Code:
    .lt-ie8 div[class*="col-"] { padding: 1%; }
    .lt-ie8 .col-3-4 { width: 72%; }
    .lt-ie8 .col-2-3 { width: 63.3%; }
    .lt-ie8 .col-1-2 { width: 46.1%; }
    .lt-ie8 .col-1-3 { width: 29.1%; }
    .lt-ie8 .col-1-4 { width: 20.8%; }
    .lt-ie8 .col-1-5 { width: 15.7%; }
    .lt-ie8 .col-1-8 { width: 8.3%; }
    .lt-ie8 .col-golden-large { width: 57.4%; }
    .lt-ie8 .col-golden-small { width: 35%; }

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles