この記事では、テキストの周囲にアイコンを挿入する方法、アイコン間の位置関係を制御する方法、および HTML 構造の合理性と CSS 属性の使用を通じてさまざまなソリューションの実装を比較する方法について説明します。効果のメリットとデメリット。
テキストの前後、上、下にアイコン、線、三角形、円を挿入します
:before
と :after
を使用します。 :before
和:after
配合content属性来实现插入内容。
通过absolute、vertical、margin、line-height等属性实现文本与符号位置关系。
能够使用CSS属性画出的图形则用CSS属性,否则用background属性显示背景图片
解法一:改变HTML结构,通过在文本元素前或后增加标签如<span></span>
和<i></i>
解法二:直接使用伪元素:before和:after(Ie7以下不支持)
必须有content属性
插入的元素的是内联元素,需要显示地定义为块级元素,才能设置高度,填充,边距等
<div class="article-block-title"> <h2 class="title"> <span>前端技术</span><i>前端技术前端技术</i> </h2> </div>
.article-block-title { height: 44px; /*实现文本与竖线对齐*/ line-height: 44px; border-left: 3px solid #72b16a; padding-left: 20px; }
直接利用该文本的容器使用border-left、border-right、border-top、border-bottom可以分别实现只显示文本上、下、左、右的线条。
对于inline,inline-block等,可使用line-height实现文本与竖线的居中。
<p class="text-info"> <i class="line line-left"></i>resto restaurant home page website template<i class="line line-right"></i> </p>
.text-info .line { display: inline-block; width: 40px; border-top: 1px solid #fff; /*使横线居中*/ vertical-align: middle; /*for IE7*/ *margin-top: 22px; }
在文本前后添加i
、span
<span></span>
や <i></i>
などの要素解決策 2: 疑似要素を直接使用します。および: 後 (Ie7 以降ではサポートされません)
であり、これを行うには、
ブロックレベル要素<div class="menu-tips">The menu</div>
.menu-tips:after { position: absolute; left: 0; bottom: 0; content: ""; width: 0; height: 0; /*menu是156px宽,所以这里设置78px*/ border-left: 78px solid transparent; border-right: 78px solid transparent; border-bottom: 10px solid #fff; }
html
<div class="btn-group"> <a href="" class="btn"></a> <a href="" class="btn active"></a> <a href="" class="btn"></a> <a href="" class="btn"></a> </div>
.index-panel-header .btn-group { float: right; /*清除行内元素的4px空白间距*/ font-size: 0; } .index-panel-header .btn { display: inline-block; margin-left: 11px; width: 9px; height: 9px; background: #dedede; /*画圆*/ -moz-border-radius: 5px; /* Firefox */ -webkit-border-radius: 5px; /* Safari 和 Chrome */ border-radius:5px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 */ /*for ie7、8*/ position: relative; z-index:2; behavior: url(../ie-css3.htc); /* 通知IE浏览器调用脚本作用于'btn'类 */ }
i
タグと span
タグを追加すると、疑似要素: before と :after を使用するよりも明確になります。 margin-topを使用して実装できます(前提条件は親要素の高さを知っていることです
html<div class="star-bar"> <span class="star"></span> <span class="star"></span> <span class="star"></span> <span class="star"></span> <span class="star nostar"></span> </div>
.star-bar { font-size: 0px; } .star { display: inline-block; width: 10px; height: 10px; margin-right: 5px; background: url("../images/index-star.png") no-repeat; } .nostar { background-position: 0 -10px; }
以上がCSS を使用してテキストの周囲にコンテンツを挿入するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。