2012-06-11 40 views
5

Vì vậy, tôi đang cố gắng định vị nút facebook/youtube/twitter trên div có kích thước 318 pixel (khoảng 106 pixel mỗi nút).Định vị ngang hình ảnh lớp CSS?

Dự kiến ​​Ouput

expected layout http://iforce.co.nz/i/dseazq4c.zqc.png

Tôi đang sử dụng phao và display: inline trên mỗi nút như nó được trả lại. Tôi đã cung cấp mã của tôi dưới đây.

CSS MÃ

#socialController{ 
width: 318px; 
background-color:#fff; 
display: inline; 
} 
.socialmedia 
{ 
width:106px; 
height:20px; 
float:left; 
vertical-align:middle; 
background-position:center center; 
background-repeat:no-repeat; 
background-color:#373737; 
} 
.socialmedia:hover{ 
background-color:#444 
} 
#sm_fb{ 
background-image:url(../img/fb.png) 
} 
#sm_tw{ 
background-image:url(../img/tw.png) 
} 
#sm_yt{ 
background-image:url(../img/yt.png) 
} 

HTML MÃ

<div id="socialController"> 
<a href="#" class="socialmedia" id="sm_fb" title="CSGONZ Facebook"></a> 
<a href="#" class="socialmedia" id="sm_yt" title="CSGONZ Youtube"></a> 
<a href="#" class="socialmedia" id="sm_tw" title="CSGONZ Twitter"></a> 
</div> 

Nhưng vấn đề là tôi không đạt vị trí ngang dự kiến ​​của tôi .. nhưng thay vào đó tôi nhận được một vị trí thẳng đứng các nút.

Output thực tế

actual output http://iforce.co.nz/i/2mce1tlk.53i.png

vấn đề là gì? và tôi đang thiếu gì? để đạt được bố cục nằm ngang?

Trả lời

3

Hãy thử điều này:

#socialController { 
width: 318px; 
background-color:#fff; 
display: block; 
} 

Như thế này:

http://jsfiddle.net/CQTus/

+0

Hey Tôi đã thử rằng trước khi tôi thực hiện các bài viết, bất kỳ ý tưởng khác? – Killrawr

+0

Đối với tôi, nó hoạt động theo cách này: http://jsfiddle.net/CQTus/ – skywlkr

+0

Tôi nghĩ rằng các liên kết hoặc vùng chứa của bạn đang nhận được một số phong cách từ các khai báo trước đó và những cái mà bạn vừa sao chép ở đây sẽ bị ghi đè bởi chúng.Bạn nên kiểm tra các kiểu thực tế mà các phần tử có tại Firebug hoặc một cái gì đó tương tự. – skywlkr

1

display: inline-block; nên được áp dụng cho SocialMedia, không socialController

+0

tôi áp dụng sự thay đổi, nhưng tôi vẫn nhận được liên kết của tôi hiển thị theo chiều dọc và chiều ngang không :(bất kỳ khác – Killrawr

+0

Không thực sự, nên được làm việc: http://jsfiddle.net/7tcbT/ – Softnux

1

Tôi nghĩ rằng bạn phải sử dụng một danh sách để hiển thị các nút của bạn trong một đường ngang .

Hãy thử this: đó là hướng dẫn (có mã nguồn) cho menu ngang trong CSS.

Tôi hy vọng nó sẽ giúp :)

+0

Bất kỳ cơ hội bạn có thể cho tôi một thực hiện dựa trên css của tôi? :) – Killrawr

1

Kiểm tra bản demo ở đây - http://jsfiddle.net/6PaY4/

Hope this helps!

+0

@Killrawr Kiểm tra bản demo tôi đã đăng ở đây. Nó sẽ làm việc cho bạn – Dipak

1

Bạn có thể đạt được mục tiêu của mình như sau:

Xem này Working Fiddle Ví dụ!

enter image description here

CSS

#socialController{ 
    width: 318px; 
    background-color:#fff; 
    display: block;   /* display the wrapper as a block */ 
} 
.socialmedia { 
    width:106px; 
    height:20px; 
    display:block;   /* display the element as a block */ 
    float:left;    /* float the elements to place them side by side */ 
    background-position:center center; 
    background-repeat:no-repeat; 
    background-color:#373737; 
} 
1

Mã của bạn là hoàn toàn hợp lệ vì nó đứng ...

Xem ví dụ tôi đã thực hiện từ your code

Bạn phải có lỗi ở nơi khác. Hãy tìm một tuyên bố khác trong css của bạn ghi đè các kiểu bạn đã cung cấp. Phải có một tuyên bố như sau: a{display:block} Thay đổi nó cho phù hợp.

+0

+1 cho nỗ lực :) cảm ơn bạn! – Killrawr

+0

@Killrawr Tôi đã đoán đúng chưa? – Christoph

+0

Yeah bạn đã làm .. vấn đề là một nơi nào khác trong mã của tôi đã được xung đột với các vị trí .. do đó cho tôi kết quả bất ngờ. – Killrawr

1

tôi figured nó đã được cái gì khác trong CSS gây ra trục trặc, nhờ mọi người cho câu trả lời và bảo đảm :)

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