于具有很多属性的标签,我希望在新行上分割每个属性,当按Enter键调用新行时,它应该只缩进一个标签。
以下示例输出我想如何缩进我的属性:
<svg width="300px" height="150px"> <ellipse class="fill-current" cx="150" cy="75" rx="100" ry="75" /> </svg>
但PHPStorm会自动尝试将我所有的行缩进到当前属性:
<svg width="300px" height="150px"> <ellipse class="fill-current" cx="150" cy="75" rx="100" ry="75" /> </svg>
我无法在设置(编辑器 - >代码样式 - > HTML)中找到任何选项来更改此行为。有谁知道这个问题的解决方案?
这背后的原因是因为我经常在我的HTML模板中使用自定义标签。有时候我自己的标签很长,并且是2个或(罕见的情况下)3个单词的组合,并且在新行上启动所有额外属性并且它不应该在标签的末尾对齐。自己缩进属性是很麻烦的。我想自动化它。
乎上出现了一个问题:为什么网上的文章越来越少采用首行缩进了? 这个问题,恰好与我现在的工作有些关系。
我们的行为,是受外部条件制约的,时间长了,就慢慢形成习惯习俗了。现在网络文章不首行缩进,根本原因也是如此。
在知乎的答案中,很多答案说首行缩进的产生是印刷品或纸张为了方便排版和节用纸,使用首行缩进方式进行排版,方便读者阅读。在互联网上,节约纸张的需求从根本上就不存在了,以段落划分,是更自然的行为。清晰地段落划分已足够满足读者的阅读需求。
相关答主从纸张排版上分析纸本上为什么需要首行缩进,分析的很到位。
在数字时代,换行区分段落实际上是有很深的技术根源。从技术角度,首行不缩进的显示要比首行缩进显示技术实现要容易太多了。
在web技术刚诞生的时候,完全没有提供丰富的排版功能,只能简单的显示文本。网页排版的CSS技术、图片音视频等功能,都是在技术进步中逐步增加的。即使技术发展到了现在,对网页内容进行美观排版,依然不是一件容易的事情。
网络上的文章,大多都是用户通过富文本编辑器创作出来的。首行缩进在富文本编辑器中要实现完美,有极大的难度。以头条文章创作的这个编辑器而言,首行缩进功能已经被深深藏进了隐藏菜单里面。
从技术上实现自动首行缩进,难度很大,不是每一个技术人员都能顺利实现的。手动一行行进行缩进,这也让创作者感觉过于麻烦了。
出于技术上的难点,用户可以接触到的绝大部分富文本编辑器,都没有提供方便的首行缩进功能。在这样的技术条件下,使用者都逐渐习惯了没有首行缩进的文章。
等完全数字化一代成长起来,或许会困惑:为什么之前的书本上会有首行缩进。
天来说下HTML语言CSS样式字体的文本缩进 text-indent
text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。来看下语法使用:
div {
text-indent:10px;
}
来看下使用效果,使用前:
每一行没有缩进
使用后:
每个段落的第一行都缩进了20px,具体代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS样式之文本缩进</title>
<style>
p {
text-indent: 20px;
}
</style>
</head>
<body>
<p>第一年,我考上了大学,来到了北京,冬天的雪就像冷冷的冰雨,
在脸上胡乱的拍.摇啊摇,摇啊摇,摇到外婆桥,从此世人眼中的你就像超人一样屹立于天地间。
</p>
<p>一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。</p>
<p>只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5。只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5</p>
</body>
</html>
需要缩进的像素可以是任意值,除了正的px,还可以是负的值,可以看下效果:
这不是我的浏览器坏了,展示不了段落首部,是将px修改为-20px
具体代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS样式之文本缩进</title>
<style>
p {
text-indent: -20px;
}
</style>
</head>
<body>
<p>第一年,我考上了大学,来到了北京,冬天的雪就像冷冷的冰雨,
在脸上胡乱的拍.摇啊摇,摇啊摇,摇到外婆桥,从此世人眼中的你就像超人一样屹立于天地间。
</p>
<p>一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。</p>
<p>只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5。只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5</p>
</body>
</html>
根据大家写文章段落的习惯,一般都是缩进两个字,但是20px或者10px是不是2个字的长度呢,回答不是的。缩进字数长度有专门的单位: em
通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。
em是一个相对单位,就是当前元素 font-size 1个文字的大小,如果当前元素没有设置大小,则会按照1个父元素文字大小。
我们来看下效果:
确实是缩进了2个字的长度,看下对应代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS样式之文本缩进</title>
<style>
p {
text-indent: 2em;
}
</style>
</head>
<body>
<p>第一年,我考上了大学,来到了北京,冬天的雪就像冷冷的冰雨,
在脸上胡乱的拍.摇啊摇,摇啊摇,摇到外婆桥,从此世人眼中的你就像超人一样屹立于天地间。
</p>
<p>一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。一片冰心在玉壶,我劝天公重抖擞,不拘一格降人才。</p>
<p>只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5。只有聆听你的声音,才能抚平我寂寞无聊的心,HTML5</p>
</body>
</html>
每个段落第一行如果想要三个字间距,就是3em
今天就先到这里,大家周末快乐~
*请认真填写需求信息,我们会在24小时内与您取得联系。