2009-07-24 34 views
18

Làm cách nào để đặt một đường thẳng đứng xuống giữa một div? Có lẽ tôi nên đặt hai div bên trong div và đặt một biên giới trái trên một và một biên giới bên phải trên khác? Tôi có một thẻ DIV và tôi cần phải đặt một mã ascx ở bên trái (nó sẽ bị hoán đổi theo thời gian với một mã ascx khác) và sau đó là một mã ascx tĩnh ở bên trái. Bất kỳ ý tưởng về cách tôi nên làm điều này? Có lẽ tôi đã trả lời câu hỏi của chính mình.Làm thế nào tôi có thể đặt một đường thẳng đứng xuống trung tâm của một div?

Bất kỳ con trỏ sẽ là tuyệt vời

+0

chỉ để kiểm tra - bạn muốn hai cột, một chứa một ascx và người kia có chứa ascx khác, với một dòng tách cả hai người họ xuống giữa, phải không? – Will

+0

Ascx là gì? – j08691

Trả lời

1

Tôi nghĩ rằng cách tiếp cận DIV nhiều của bạn sẽ là cách Sanest để tiếp cận này:

<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> 
+0

Chỉ cần kiểm tra; trừ khi bạn chỉnh sửa và thêm một phao này không hoạt động. – Will

+0

nếu bên trái là ngắn hơn bên phải, sau đó tôi không nghĩ rằng biên giới sẽ kéo dài toàn bộ chiều cao. – easement

4

Chỉ cần thử nghiệm điều này; hoạt động:

<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> 
0

Ba div?

<DIV> 
    <DIV> 
     /* ascx 1 goes here */ 
    </DIV> 
    <DIV style="width:1px; background-color: #000"></DIV> 
    <DIV> 
     /* ascx 2 goes here */ 
    </DIV> 
</DIV> 
+1

bạn cần phải tự hỏi mình một điều ... nó sẽ hoạt động khi bạn không có cùng chiều cao trên tất cả div nội bộ – ddjikic

2

Tôi nghĩ bạn cần div bao bọc có hình nền. Nếu không, sau đó bạn không được đảm bảo để có biên giới đi tất cả các cách từ trên xuống dưới.

<div class="wrapper"> 
    <div>Float this one left</div> 
    <div>float this one right</div> 
</div> 

* đảm bảo để khoảng trống giữa trái và phải để hình ảnh hiển thị.

bạn sẽ cần một phong cách mà trông giống như:

.wrapper{background:url(img.jpg) 0 12px repeat-y;} 
45

Có lẽ điều này có thể giúp bạn

.here:after { 
 
    content:""; 
 
    position: absolute; 
 
    z-index: -1; 
 
    top: 0; 
 
    bottom: 0; 
 
    left: 50%; 
 
    border-left: 2px dotted #ff0000; 
 
    transform: translate(-50%); 
 
} 
 

 
div { 
 
    margin: 10px auto; 
 
    width: 60%; 
 
    height: 100px; 
 
    border: 1px solid #333; 
 
    position:relative; 
 
    text-align:center 
 
}
<div class="here">Content</div>

Dưới đây là là một bản demo JSFiddle.

11

Dưới đây là một cách hiện đại hơn để vẽ một đường xuống một div. Chỉ cần mất một chút css:

.line-in-middle { 
 
    width:400px; 
 
    height:200px; 
 
\t background: linear-gradient(to right, 
 
\t        transparent 0%, 
 
\t        transparent calc(50% - 0.81px), 
 
\t        black calc(50% - 0.8px), 
 
\t        black calc(50% + 0.8px), 
 
\t        transparent calc(50% + 0.81px), 
 
\t        transparent 100%); 
 
\t }
<div class="line-in-middle"></div>

trình trong tất cả các trình duyệt hiện đại. http://caniuse.com/#search=linear-gradient

+0

Không hoạt động trên IE 11 - hiện là phiên bản mới nhất. –

+0

@Kamil Kiełczewski chỉ muốn cung cấp cho người đứng đầu những người khác cos trên liên kết ông cung cấp nói IE11 được hỗ trợ đó là sự thật nhưng mã không hoạt động. –

+0

@JerickAllanSernalDimaano hoạt động trong IE 11 Tôi đã cài đặt, 11.413.15063.0.Phiên bản nào bạn thấy nó không hoạt động? Bạn đang nhìn cái gì vậy? –

1

Đây là phiên bản của tôi, một dòng giữa dốc bằng linear-gradient

.block { 
 
     width:400px; 
 
     height:200px; 
 
     position:relative; 
 
} 
 
.block:before { 
 
     content:""; 
 
     width:1px; 
 
     height:100%; 
 
     display:block; 
 
     left:50%; 
 
     position:absolute; 
 
\t  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); 
 
\t }
<div class="block"></div>

Các vấn đề liên quan