How do I put a vertical line down the middle of a div? Maybe I should put two divs inside the div and put a left border on one and a right border on the other? I have a DIV
I think your multiple DIV approach is going to be the sanest way to approach this:
<DIV>
<DIV style="width: 50%; border-right: solid 1px black">
/* ascx 1 goes here */
</DIV>
<DIV style="width: 50%">
/* ascx 2 goes here */
</DIV>
</DIV>
I think you need a wrapper div with a background image. If not, then you are not guaranteed to have the border go all the way from the top to the bottom.
<div class="wrapper">
<div>Float this one left</div>
<div>float this one right</div>
</div>
*be sure to leave the space between the left and right for the image to show up.
you'll need a style that looks like:
.wrapper{background:url(img.jpg) 0 12px repeat-y;}
Just tested this; works:
<div id="left" style="width:50%;float:left;background:green;">left</div>
<div id="right" style="margin-left:50%;border-left:solid 1px black;background:red;">right</div>
This is my version, a gradient middle line using linear-gradient
.block {
width:400px;
height:200px;
position:relative;
}
.block:before {
content:"";
width:1px;
height:100%;
display:block;
left:50%;
position:absolute;
background-image: -webkit-linear-gradient(top, #fff, #000, #fff);
background-image: -moz-linear-gradient(top, #fff, #000, #fff);
background-image: -ms-linear-gradient(top, #fff, #000, #fff);
background-image: -o-linear-gradient(top, #fff, #000, #fff);
background-image: linear-gradient(top, #fff, #000, #fff);
}
<div class="block"></div>
Here's a more modern way to draw a line down a div. Just takes a little css:
.line-in-middle {
width:400px;
height:200px;
background: linear-gradient(to right,
transparent 0%,
transparent calc(50% - 0.81px),
black calc(50% - 0.8px),
black calc(50% + 0.8px),
transparent calc(50% + 0.81px),
transparent 100%);
}
<div class="line-in-middle"></div>
Works in all modern browsers. http://caniuse.com/#search=linear-gradient
Although this question was asked 9yrs ago and a lot of the answers would "work". CSS has evolved and you can now do it in a single line without using calc
.
background: linear-gradient(#000, #000) no-repeat center/2px 100%;
linear-gradient(#000, #000)
this creates a background-image
so we can later use background-size
to contain it.no-repeat
this stops the gradient from repeating when we do put background-size
on it.center
- this is the background-position
this is where we put the "diving line"/2px 100%
- this is making the image 2px wide and 100% of the element you put it in. background-image: linear-gradient(#000, #000);
background-size: 2px 100%;
background-repeat: no-repeat;
background-position: center center;