2012-06-28 2 views
0

나는 이것을 알고 싶습니다. 가능한 일입니까? :폭을 자동 + 5px로 설정하는 방법은 무엇입니까?

#test{ 
    background-color: red; 
    width:auto + 5px; 
} 

나는 정확히 텍스트의 폭 장착하는 <div>을 가지고 싶지 않아. 나는 그것을 " '텍스트 폭'+ 5px"가되고 싶다.

CSS로 가능합니까? 이 오른쪽과 왼쪽에 5px의 패딩을 만들어

#test { 
    background-color: red; 
    width:auto; 
    padding:0 5px; 
} 

:

+0

'text-width'는 어떻게 생깁니 까? 'auto'은 항상 부모 요소의 100 %입니다. – Ashwin

+2

블록 요소를 사용하지 말고 'span'과 같은 인라인 요소를 사용하십시오. – poke

+0

@poke :이 div를 CSS 메뉴 버튼과 같이 사용하고 싶기 때문에 div를 사용합니다 (미리 작성된 버튼을 사용하고 싶지는 않습니다 ...). 스타일을 잘 이해하지 못해서 ... –

답변

2

내가 사용하는 패딩을 제안한다. 위쪽과 아래쪽은 0의 패딩을 갖습니다.

+1

이것은 div의 너비를 변경하지 않는다. 여전히 100 % – slash197

1

패딩 사용.

#test{ 
     background-color: red; 
     width:auto; 
     padding: 0px 5px; 
    } 
+0

이다. 이것은 div의 너비를 변경하지 않는다. 여전히 100 %입니다. – slash197

+0

@ slash197 : 올바른 대답이었던 것 같습니다. – Danny

+0

@ 대니 - 나도 그걸 봤어. 너와 릭의 대답은 똑같아. – Ashwin

2

div의 자동 너비는 100 %입니다. 당신은 당신이 width:auto + 5px처럼 달성하고자하는 경우에만 내용의 폭이 float: left/right

#test { 
    float: left/right; 
    background-color: red; 
    padding-left: 5px; 
    /* OR */ 
    padding-right: 5px; 
} 
0

를 사용할 필요가 있다면 당신은, sass 같은 스타일 시트 언어를 사용해야 할 것 등

당신이 여분의 공간을 갖고 싶어 compass 텍스트 주위에 다음과 같이 패딩을 사용할 수 있습니다. -

#test { 
    padding:5px; //for all top, right, bottom, left 
    OR 
    padding:5px 3px; //5px for top, bottom and 3px for left right 
    OR 
    padding:5px 3px 4px; //5px for top, 3px for left and right and 4px for bottom 
    OR 
    padding: 5px 4px 3px 2px; //goes this way, top-right-bottom-left 
} 
+0

나는 그와 같은 것을 할 수 있을지 의심 스럽다. 그것은 텍스트의 정확한 너비를 계산할 수 있어야합니다, 그리고 그것은 완전히 글꼴, 글꼴 크기, 렌더링 방법, 줌, 등등에 따라 달라집니다. – poke

+0

너의 너비를 알 수있는 방법이 없다. 텍스트 그것에 대해 이야기하는 것은 가설적이고 의미가 없습니다. – Ashwin

+0

그러면 왜 그 새끼가 그것을 할 수 있다고 말합니까? 그들에게는 불가능합니다. JavaScript를 사용하여 그러한 계산을 할 수 있다면. – poke

관련 문제