複数のdivは、改行せずに同じ行に並べられます.
14325 ワード
場合によっては、複数のdivラベルを横方向に並べて改行しない必要がある場合があります.具体的には、次のいくつかの実装方法があります.
例:
例:
具体的には、Flexレイアウトチュートリアル:構文編例:
しかし、これによりflex容器の
親
参照1.どのようにfloat要素を親要素のwidthを超えて改行しないように強制しますか?2.複数のdivを改行せずに横に並べる方法
1.同級div設定display:inline-block、親div強制改行なし
例:
<html>
<head>head>
<body>
<div id="container">
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div>
body>
<style>
#container {
width:400px;
height: 200px;
background-color: red;
overflow: auto;
white-space: nowrap;
}
.lable {
width: 100px;
background-color: blue;
display: inline-block;
}
style>
html>
2.position絶対位置決めにより実現
例:
<html>
<head>head>
<body>
<div id="container">
<div id="lable1"> div>
<div id="lable2"> div>
<div id="lable3"> div>
<div id="lable4"> div>
<div id="lable5"> div>
<div>
body>
<style>
#container {
width:400px;
height: 200px;
background-color: red;
overflow: auto;
position: relative;
}
#lable1 {
width: 100px;
margin-left: 0;
background-color: blue;
position: absolute;
}
#lable2 {
width: 100px;
margin-left: 100px;
background-color: blue;
position: absolute;
}
#lable3 {
width: 100px;
margin-left: 200px;
background-color: blue;
position: absolute;
}
#lable4 {
width: 100px;
margin-left: 300px;
background-color: blue;
position: absolute;
}
#lable5 {
width: 100px;
margin-left: 400px;
background-color: blue;
position: absolute;
}
style>
html>
3.flex方式で実現
具体的には、Flexレイアウトチュートリアル:構文編例:
<html>
<head>head>
<body>
<div id="container">
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div class="lable"> div>
<div>
body>
<style>
#container {
width:400px;
height: 200px;
background-color: red;
display: flex;
display: -webkit-flex;
/* flex item */
flex-direction: row;
/* flex item , */
flex-wrap: nowrap;
/* flex item , */
justify-content: flex-start;
/* */
align-items: flex-start
}
.lable {
width: 100px;
margin-left: 5px;
background-color: blue;
}
style>
html>
しかし、これによりflex容器の
overflow
属性は機能しなくなる.flexレイアウトでは、すべてのflex item
がflexコンテナ空間を超えずに開発者定義に従ってコンテナ空間を割り当てる.に注意
親
div
コンテナのoverflow
プロパティのみを設定すると、コンテナ内の要素はinline
またはinline-block
であり、改行せずに同じ行に積み重ねられず、親コンテナを開くことができません.1行に時間を置くことができないと、自動的に改行されます.参照1.どのようにfloat要素を親要素のwidthを超えて改行しないように強制しますか?2.複数のdivを改行せずに横に並べる方法