2017-01-13 3 views
3

私はdivを横切ってhorizo​​natllをそのdivのフレックスボックスを使って配布するために3つのボックスを取得しようとしています。私は、justify-content:space-betweenを使用する必要があります。私は、余分なdiv要素(それはワードプレスによって生成される) を持っているしかしw3schoolsflex justify-content:space-between not working

あたりのように私のHTMLは次のとおりです。

<div class="locationHolder"> 
    <div class="textwidget"> <!-- extra div--> 
    <div class="locationSquare">...</div> 
    <div class="locationSquare">...</div> 
    <div class="locationSquare">...</div> 
    </div> 
</div> 

私はこのCSS行う場合:

page-template-home-page .locationHolder .textwidget{ 
display: -webkit-flex; 
    display: flex; 
    -webkit-justify-content: space-between; 
    justify-content: space-between; 
    width:100%; 
    background:green; 
} 

.page-template-home-page .locationSquare { 
    width:30.942%; 
    background:#fff; 
    margin:0; 
} 

を私がスペースを取得します左端と右端 - 外側のボックスは端には行きません。 <div class="textwidget">とその</div>を削除すると問題なく動作します。

私はディスプレイとしてlocationHolderを置く場合:フレックスなどを、それが

動作しない私はjQので、余分なdiv要素を削除することができますが、これを克服するためのCSSの解決策はありますか?

+0

作業中のプランナーを追加できますか? – Nitheesh

+1

正常に動作しているようです。https://jsfiddle.net/ceyqvw96/ – Goombah

+0

「作業プランナー」が何であるかわからない - はい、フィドルが動作します...なぜここにいないのですか?http://www.restore .ee-web.co.uk/ – maxelcat

答えて

15

.textwidget::before, .textwidget::after { content: none; }を追加します。あなたはcontent: ""がこの要素の1341行目に追加されており、それはflexを破ります。または、.textwidget::before, .textwidget::afterを1341行から削除してください)

+0

私は試してみました。開始時に行ったので、.textwidget :: after {content:none;}とその動作を追加しました。それは約1時間ナットを運転していた。私はちょうど感謝それを見ることができませんでした。 – maxelcat

1

私も問題があり、多くの記事を読んで解決策を見つけることができました。私は正直言って、それはフレックスボックスのバグで、それを報告しようとしていました。最後に問題の原因を見つけました。

フレンドアイテムにプードーエレメントがある場合、それらのアイテムもフレキシブルになります。

element{ 
    margin: 0; 
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-orient: horizontal; 
    -webkit-box-direction: normal; 
    -ms-flex-direction: row; 
    flex-direction: row; 
    -webkit-box-pack: justify; 
    -ms-flex-pack: justify; 
    justify-content: space-between; 
} 


element:before, element:after{ 
    content: none; 
} 

あなたはブートストラップをインポートした場合はブートストラップは、フロートをクリアするために、疑似要素が追加されるため、これは、より頻繁に発生する可能性があります。

+0

フレックスコンテナ内で、フローする必要のない擬似要素を使用する場合は、絶対配置することができます。 [仕様](https://www.w3.org/TR/css-flexbox-1/#abspos-items)に記載されているように、 >流出しているので、フレックスの絶対的な位置にある子供コンテナはフレックスレイアウトに参加しません。 – Lasithds