Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在跨中的CSS中创建与所有浏览器兼容的悬挂缩进样式_Html_Css_Indentation - Fatal编程技术网

Html 如何在跨中的CSS中创建与所有浏览器兼容的悬挂缩进样式

Html 如何在跨中的CSS中创建与所有浏览器兼容的悬挂缩进样式,html,css,indentation,Html,Css,Indentation,我唯一发现的是 .hang{ 文本缩进:-3em; 左边距:3em; } 唯一可行的方法是将文本放在一个段落中,这会导致那些非常难看的额外行。我宁愿把它们放在类型的东西里 我也在寻找一种方法,以进一步缩进,而不仅仅是一个单一的水平悬挂。使用段落堆叠缩进不起作用。是一个内联元素。除非您谈论的是段落(通常指块元素),否则“悬挂缩进”一词毫无意义。当然,您可以更改或或任何其他块元素上的边距,以消除段落之间额外的垂直空间 您可能需要类似于display:runin,其中标记将根据上下文变为块或内联。

我唯一发现的是

.hang{
文本缩进:-3em;
左边距:3em;
} 
唯一可行的方法是将文本放在一个段落中,这会导致那些非常难看的额外行。我宁愿把它们放在
类型的东西里

我也在寻找一种方法,以进一步缩进,而不仅仅是一个单一的水平悬挂。使用段落堆叠缩进不起作用。

是一个内联元素。除非您谈论的是段落(通常指块元素),否则“悬挂缩进”一词毫无意义。当然,您可以更改
或任何其他块元素上的边距,以消除段落之间额外的垂直空间


您可能需要类似于
display:runin
,其中标记将根据上下文变为块或内联。。。可悲的是,这是。

找到了一个很酷的方法来做到这一点,减去令人讨厌的跨度

p{
左侧填充:20px;
} 
p:第一个字母{
左边距:-20px;
}
好简单:D

如果换行符在p块中困扰您,您可以添加

p{
边际上限:0px;
边缘底部:0px;
}

除了一个有争议的例外,伊斯特的答案是最好的;度量单位应与字体大小相对应

p{
文本缩进:-2en;
左:2en;
}

“3”也将充分发挥作用;不建议使用“em”,因为它比字母集中的平均字符宽。“px”仅当您打算将文本块的挂起与不同字体大小对齐时才应使用。

我想您的意思是“:first child”我不认为它是“:first child”。不确定“:first letter”是否也能完成。它在我的测试中不起作用。你能提供一个JSFIDLE吗?说边距属性可以与
一起使用:第一个字母
我创建了以下[link](jsfiddle.net/David_Barnett/UqHQv/)。我发现这个方法的唯一缺点是,当选择文本时,第一个字母通常是不可选择的。或者只使用
p{text indent:-20px;padding left:20px}
在chrome中测试,它与en不一样。谷歌搜索en vs em显示为一个特定于破折号的字符宽度,没有人说我可以用它来表示间距;em被定义为字体中最宽字符的宽度。最简单的方法是在div上使用
.hang
css,这与span基本相同,但作为块元素而不是内联文本。或者,您可以包括
display:block.hang
定义中使用code>,但再次使用span与使用div。。。