本文要討論的是如何在文本的周圍插入圖標,怎麼樣控制它們之間的位置關係,透過HTML結構合理性與CSS屬性的使用來比較不同方案所實現效果的優缺點。
在文字前、後、上方、下方插入圖示、線條、三角形、圓形
插入的元素要和文字實現間距、對齊(居中、頂部、基線)等位置關係。
靈活使用display、background等屬性
透過 :before
和:after
配合content屬性來實現插入內容。
透過absolute、vertical、margin、line-height等屬性實作文字與符號位置關係。
能夠使用CSS屬性畫出的圖形則用CSS屬性,否則用background屬性顯示背景圖片
與
< /i>
內嵌元素,需要顯示地定義為區塊級元素,才能設定高度,填充,邊距等
<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; }
<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標籤相對使用偽元素:before和:after更加清晰明了。
html
<div class="menu-tips">The menu</div>css
.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; }
<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>
css
.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'类 */ }
Trick2:呼叫腳本ie-css3.htc,使IE瀏覽器支援css3屬性。一定要有定位屬性,像是position:relative或是position:absolute屬性。
#自訂圖示<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; }
分析
這裡是一些評分等需求的做法,利用background的屬性顯示圖片。元素,這裡有個作弊工具:如何居中元素
以上是利用CSS實現在文本的周圍插入內容的詳細內容。更多資訊請關注PHP中文網其他相關文章!