2013-03-29 3 views
33

그래서 저는 설계중인 새 웹 사이트에서 사용할 가로 목록을 만들려고했습니다. 나는 'float'을 왼쪽으로 설정하는 것과 같이 이미 온라인에서 발견 된 여러 가지 제안을 시도해 보았습니다. 그러나 문제를 해결하는 데는 이들 중 어느 것도 효과가 없었습니다.CSS 가로 목록 항목

ul#menuItems { 
 
     background: none; 
 
     height: 50px; 
 
     width: 100px; 
 
     margin: 0; 
 
     padding: 0; 
 
    } 
 
    ul#menuItems li { 
 
     display: inline; 
 
     list-style: none; 
 
     margin-left: auto; 
 
     margin-right: auto; 
 
     top: 0px; 
 
     height: 50px; 
 
    } 
 
    ul#menuItems li a { 
 
     font-family: Arial, Helvetica, sans-serif; 
 
     text-decoration: none; 
 
     font-weight: bolder; 
 
     color: #000; 
 
     height: 50px; 
 
     width: auto; 
 
     display: block; 
 
     text-align: center; 
 
     line-height: 50px; 
 
    }
<ul id="menuItems"> 
 
    <li> 
 
    <a href="index.php">Home</a> 
 
    </li> 
 
    <li> 
 
    <a href="index.php">DJ Profiles</a> 
 
    </li> 
 
</ul>

현재 내가 대해 어떻게 갈 것이며,이를 해결이 문제의 원인이 무엇 확신입니까?

+1

'float' 속성을 사용하십시오. – Ron

+0

http://css.maxdesign.com.au/listutorial/index를 참조하십시오.htm –

답변

55

업데이트 답변

나는 그것을 조금을 업데이트하기로 결정 그래서 많은 사람들이 응답을 사용 나타났습니다. 원래 답변을 보려면 아래를 확인하십시오. 새로운 대답은 목록에 스타일을 추가하는 방법을 보여줍니다.

ul > li { 
 
    display: inline-block; 
 
    /* You can also add some margins here to make it look prettier */ 
 
    zoom:1; 
 
    *display:inline; 
 
    /* this fix is needed for IE7- */ 
 
}
<ul> 
 
    <li> <a href="#">some item</a> 
 

 
    </li> 
 
    <li> <a href="#">another item</a> 
 

 
    </li> 
 
</ul>

+1

upvoted 대답은 문제를 해결하기 때문에,하지만 수레가 오래되고 오래되었습니다! IE7-을 사용하는 경우를 제외하고는 U :'display : inline-block; '을 사용해야합니다. – PlantTheIdea

+0

@LifeInTheGrey 그건 좋은 지적입니다. 두 번째 옵션으로 추가 할 것입니다. 팁을 주셔서 감사합니다. –

+1

걱정할 필요가 없습니다. IE7 이하의 문제 수정 : http://uncorkedstudios.com/2011/12/12/how-to-fix-the-ie7-and-inline-block-css-bug/ – PlantTheIdea

4

훨씬 더 좋은 방법은 더 이상 목록의 마지막에 clear:both를 사용할 필요가 없기 때문에, inline-block을 사용하는 것입니다.

이 시도 :

<ul> 
    <li> 
     <a href="#">some item</a> 
    </li> 
    <li> 
     <a href="#">another item</a> 
    </li> 
</ul> 

CSS : http://jsfiddle.net/shahverdy/4N6Ap/

1

당신은 또한 같은 요소

<ul> 
    <li> 
     <a href="#">some item</a> 
    </li> 
    <li> 
     <a href="#">another item</a> 
    </li> 
</ul> 

다음 스타일 부동 방지하기 위해 인라인 블록을 사용할 수

li{ 
    /* with fix for IE */ 
    display:inline; 
    display:inline-block; 
    zoom:1; 
    /* 
    additional styles to make it look nice 
    */ 
} 

그런 식으로 플로트해야 할 필요가 없습니다. 명확한 수정이 필요합니다

+0

나는 이것을 시도했지만 아직 수평으로 보이지는 않았다. www.s4nr.com/SpecialTesting –

+0

@LoadData 메뉴 너비는 100px이고 너의 너비는 128px이므로 너비는 128px이다. 항목이 다음 줄로 드롭 다운됩니다. – Jamie

0

Here 목록의 동적 크기 조정에 대한 몇 가지 제안 사항이있는 실제 예제를 찾을 수 있습니다.

I 디스플레이 사용했습니다 :

display:inline-block; 
padding:10px 1%; 
width: 30% 

플러스 두 개 더 규칙은 첫 번째와 마지막 항목에 대한 패딩을 제거 : 상위 목록을 동적으로 크기를 변경할 수 있도록 인라인 블록 및 백분율 패딩을.

ul#menuItems li:first-child{padding-left:0;} 
ul#menuItems li:last-child{padding-right:0;} 
관련 문제