2016-04-01 27 views
1

İşaretlemeyi semantik olmayan bir şekilde sipariş etmek zorunda bırakan bir "arkadan mühendislik kısıtlaması" aldım ancak görsel olarak ekibimin farklı bir siparişe ihtiyacı var. Bunu esnek kutu ile başardım ve IE 10 ve 9 için flexibility.js ile polifilize etmeye teşebbüs ettim. Ne yazık ki 10 ve 9'un her ikisi de sorun yaşıyor.IE9 ve IE10 için Flexbox sırası, konumu, geri sarma kaydırma

Not: etrafında "üçüncü" bölümü taşımak için jQuery/DOM manipülasyon kullanamazsınız.

herhangi bir kimse aşağıdaki elde etmenize yardımcı olabilir alternatif öneri veya düzeltmeleri var mı:

Biçimlendirme:

<div class="first"> <div class="second"> <div class="third">

Ama görsel olarak IE 10 ve 9 aşağıdaki görmeye ihtiyaç duydukları:

Flexbox reordering and wrapping.

Yani "önce" ve "üçüncü" apar görsel olarak görünmesi gerekir Aynı bölümün ve "ikinci" bölümün t altında olması ve kabın tam genişliğine gitmesi gerekir. http://codepen.io/semantictissue/pen/MypRVz

Herhangi öneri veya bu çapraz tarayıcı dostu hale gelmesine yardımcı:

benim tam çalışma (tam krom çalışan) codepen bakın?

+0

CSS konumlandırmayı kullanabilir misiniz? Pozisyon gibi: göreli? – user2182349

+0

IE 9’da flexbox için güvenilir bir polyfill olduğundan emin değilsiniz. IE10, speklerin eski versiyonuna dayanmaktadır. Sahip olduğunuz kolay bir görev değil. Burada daha fazla rehberlik var: http://stackoverflow.com/a/35137869/3597276 –

+0

@ 4castle malesef basit bir şekilde, siparişin basit bir yeniden düzenlemesi değil - "ilk" ve "üçüncü" için de "sütunlar" elde etmek, aynı zamanda görsel olarak bölümlere ayırmaktır " ilk "ve" üçüncü "burada meydan okumadır. – Jonas

cevap

0

Bulduğum en kolay çözüm, .third'u absolute olarak konumlandırmaktır. .first ve .third bölümlerini görsel olarak bölümlere ayırmak için .first numaralı CSS'yi .third numaralı odaya bırakarak kalan alanı ayarlayınız.

Here is your modified CodePen

Bu yaklaşımın ana dezavantajı

body { margin: 0; position: relative; } 
 
.first { height:50px; width: 50%; background: blue; } 
 
.second { height:50px; width:100%; background: gray; } 
 
.third { height:50px; width: 50%; background:green; 
 
      position: absolute; top: 0; right: 0;  }
<div class="first">first</div> 
 
<div class="second">second</div> 
 
<div class="third">third</div>

pencere küçülüyor gibi içerikleri akıtacak olmamasıdır. Medya sorguları, öğelerin genişliğini ve konumunu gerektiği gibi değiştiren belirli pencere boyutlarında kullanılmalıdır. Bir CSS tablo düzenini kullanmak, içerik kendi satırına sarılabildiğinde yararlı olacaktır. Info here

+0

Ayrıca "float" ve "display: table" kullanmayı denedim, ancak ikisi de .first ile aynı satırın üzerine. – 4castle

+0

Bu, sorunuza cevap veriyor mu? Birkaç gün oldu ve bir şey söylemedin ya da cevabımı seçtin. – 4castle

+0

Evet, bu zor bir durum - Ben: mutlak nedenler, pencere yeniden boyutlandırıldığında içeriğin çalıştırılmasıyla ilgili sorunlara neden oluyor, ama bence haklısınız, bu bir geri dönüş olarak alabildiğim en yakın şey. – Jonas