Reputation: 301
I already search and there is no exactly solution for me. I am trying to making Two Columns:
Left fluid + Right fluid.
Left column is contain input box with 100% width
and the left column width
is depend on right column width
.
B is just a text div but I don't know a text's length. It is dynamic length.
A is just input box.
So if B is longer text, A should be shorter.
Please take look at the below image
Any suggestion?
Upvotes: 0
Views: 530
Reputation: 51
Try this
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Site name</title>
</head>
<style>
#container{
width: 900px;
}
#container:after{clear: both; display: table; content: "";}
#container:before{ display: table; content: "";}
.left-column{
width: 400px;
float: left;
padding: 5px;
background: green;
box-sizing: border-box;
}
.left-column input{width: 100%;}
.right-column{
float: right;
padding: 5px;
width: 500px;
background: violet;
box-sizing: border-box;
}
</style>
<body>
<div id="container">
<div class="left-column">
<input name="f-name" type="text"></input>
</div>
<div class="right-column">
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis
aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit
anim id est laborum.
</div>
</div>
</body>
</html>
Upvotes: 0
Reputation: 122115
You can use Flexbox
and just set flex: 1
on input.
.el {
display: flex;
}
input {
flex: 1;
background: #A3FF9A;
}
p {
background: #FF87DE;
margin: 0;
}
<div class="el">
<input type="text">
<p>Lorem ipsum dolor.</p>
</div>
Upvotes: 1