Как убрать пустое пространство ВНУТРИ CSS-границы?Я хочу, чтобы граница была плотной вокруг текста - PullRequest
1 голос
/ 16 марта 2011

Вот мой самый базовый тестовый код:

<html>

    <head>
        <title></title>
    </head>
    <body style="font-size:100%; margin:0; padding:0;">

    <p style="border:1px solid red; font-size:10em; margin:0;">
    test</p>

    </body>
</html>

Проблема в том, что, когда я увеличиваю размер шрифта, тем больше пробелов ставится выше и ниже текста.Есть ли способ заставить границу обтекать текст?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Вы должны быть в состоянии использовать:

p {
    padding: 0; /* reduces the space between the content, and the border, of the p element */
    line-height: 1.2em; /* to avoid the text being 'squashed' together */
    font-size: 1em;
    border: 1px solid #000;
}

JS Fiddle

1 голос
/ 16 марта 2011

Использование таблицы стилей сброса CSS значительно облегчает работу других браузеров, поскольку многие браузеры имеют свои собственные значения по умолчанию.

Просто вставьте эту огромную строку CSS в ваш скрипт, и она должна выглядеть немногоболее равномерный (источник: http://developer.yahoo.com/yui/3/cssreset/):

html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}

Теперь, @ David Thomas ответ может выглядеть одинаково.

1 голос
/ 16 марта 2011

Попробуйте поиграть с line-height:

<html>

    <head>
        <title></title>
    </head>
    <body style="font-size:100%; margin:0; padding:0;">

    <p style="border:1px solid red; font-size:10em; margin:0; line-height:0.5em">
    test</p>

    </body>
</html>
...