【CSS】小妙招,各種問題總結方法處理

1.實現div文字溢出自動省略號截取

       ?    overflow:hidden;??/*超過部分不顯示*/
??      text-overflow:ellipsis;??/*超過部分用點點表示*/
??      white-space:nowrap;/*不換行*/

2.規定行數的截取效果

       text-overflow: ellipsis; /*有些示例里需要定義該屬性,實際可省略*/
display: -webkit-box;    -webkit-line-clamp: 2;/*規定超過兩行的部分截斷*/     -webkit-box-orient: vertical;     overflow : hidden;    word-break: break-all;/*在任何地方換行*/

3.修改默認radio按鈕樣式

? 默認的radio樣式非常的難看,并且不容易布局所有我們有時候需要修改為自定義的樣式或者顏色。基本分為五步:

?第一步:就是我們的html結構:

      <input id="word" type="radio" name="a" /><label for="word">word</label>
<input id="excel" type="radio" name="a" /><label for="excel">excel</label>

第二步:生成一個偽元素,作為美化版的單選按鈕,先給偽元素添加一些樣式,這里可以自定義樣式效果

input[type="radio"]   label::before {
content: "\a0"; /*不換行空格*/
display: inline-block;
vertical-align: middle;
font-size: 18px;
width: 15px; /*沒有選中時的按鈕大小*/
height: 15px; /*沒有選中時的按鈕大小*/
margin-right: 8px; /*按鈕與文字的間距*/
border-radius: 50%;
border: 1px solid #01cd78;
text-indent: 10px;
line-height: 1;
}

第三步:選中按鈕時候的樣式效果

input[type="radio"]:checked   label::before {
background-color: #01cd78;
background-clip: content-box;
padding: 2px;
width: 11px; /*選中后的按鈕大小*/
height: 11px; /*選中后的按鈕大小*/
}

第四步:隱藏原來的按鈕

input[type="radio"] {
position: absolute;
clip: rect(0, 0, 0, 0);
}

第五步:參考文獻:https://www.cnblogs.com/xinjie-just/p/5911086.html

4.inline-block屬性間距

現象分析

此問題是設置樣式屬性displayinline-block。應用常例是li屬性設置水平放置后出現間隙。

照圖說話;

例如上圖很明顯可以看出第二行間隙比第一行小,第一行為間隙樣例,我本來設置兩個li之間間距為15應該為第二行效果,但是在html寫出代碼:

  <li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio4" type="radio" name="fileRadio"><label for="radio4"></label></li>
<li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio5" type="radio" name="fileRadio"><label for="radio5"></label></li>
<li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio6" type="radio" name="fileRadio"><label for="radio6"></label></li>

效果就是第一行的效果,第二行是使用js進行添加的li就是正確的margin-right:15px.?而第二行確多出一部分空隙。然后我再次修改html代碼為:

<li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio4" type="radio" name="fileRadio"><label for="radio4"></label></li><li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio5" type="radio" name="fileRadio"><label for="radio5"></label></li><li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio6" type="radio" name="fileRadio"><label for="radio6"></label></li>

效果為:

這樣就沒有間隙了,看出問題所在了,就是因為寫代碼元素標簽之間的空格所致。但是我們有不能所有的代碼都按照寫在一行,一是不易于讀不易于維護,二是很亂。

解決方案總結:

  1. 寫成一行(不可取也是一種方式,,哈哈哈)
  2. 第二中就是有規則分分行,例如我這個就可以這樣寫:
                                    <li><img /><div>黨的進什么文得很受打擊.jpg</div><input id="radio1" type="radio" name="fileRadio"><label for="radio1"></label></li><li><img /><div>
黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio2" type="radio" name="fileRadio"><label for="radio2"></label></li><li><img /><div>
黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio6" type="radio" name="fileRadio"><label for="radio6"></label></li>

? ? ? ? 3.?借助注釋語句來去除空格

                                   <li><img /><div>黨的進什么文得很受打擊.jpg</div><input id="radio1" type="radio" name="fileRadio"><label for="radio1"></label></li><!--
--><li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio2" type="radio" name="fileRadio"><label for="radio2"></label></li><!--
--><li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio6" type="radio" name="fileRadio"><label for="radio6"></label></li>

? ? ? ? 4.?不寫結束標簽,就是li的結束標簽不寫即可:

                                <li><img /><div>黨的進什么文得很受打擊.jpg</div><input id="radio1" type="radio" name="fileRadio"><label for="radio1"></label>
<li><img /><div>黨的進什么文件但還是覺得很受打擊.jpg</div><input id="radio2" type="radio" name="fileRadio"><label for="radio2"></label>

? ? ? ? 5.?樣式的問題還是采用樣式解決,哈哈使用文字間距屬性letter-spacing。只需要在間隙元素上設置為0px,然后看多出多少元素在簡單元素的父元素設置負數值就好了。例如我這個就是在li元素設置{?letter-spacing:0px;}然后在父元素設置ul{letter-spacing:-8px}

?5.calc計算屬性

左右布局中一部分定值一部分比例布局,這個時候是不是很糾結,一部分是需要固定的寬度,另一部分想根據瀏覽器大小自動適應。

完美的計算就是自適應部分使用百分百布局,可是又不能100%,因為已經被占用了一部分定值。這個時候就需要calc計算屬性了,你可以寫成:100% - 定值 這樣規定寬度,相當于在這個寬度屬性這里寫了一個百分百布局只是減去的一些值。

.content_left {
background-color: cadetblue; width: 200px; height:100%; border: 1px solid #D0D6D9; } .content_right { background-color: cornflowerblue;
/*注意使用時計算符號前后要空格*/ width: calc(100% - 215px); height: 100%; margin-left: 10px; border: 1px solid #D0D6D9; }

?6.左右float布局后父元素沒有自適應高度

這個是實際項目中發現的問題,在一個大的div中放置兩個子div元素進行左右布局:float: left;和float:right;之后父div沒有適應子元素高度,父元素高度為0;

解決辦法:父元素div增加:overflow:hidden;

7.根據頁面切換不同的IE文檔模式

很多時候我們都不注意低版本的文檔切換,因為新項目很少要I8以下了。很不幸的遇到了老項目整合或者老項目擴展新功能。

例如老項目只支持ie8以下,而你的新頁面是IE9起步,恭喜你拉哈哈。你不會讓用戶去按F12根據不同的頁面切換文檔模式的太傻了。那怎么辦,當然是我們自動切換了。

我們使用x-ua-compatible屬性:IE以后增加的新屬性,用來進行切換ie瀏覽器渲染方式。(當然首先保證你環境存在)

例如我上面說到的情況就可以這樣處理:

老版本在head標簽中增加:

<head>
<meta http-equiv="x-ua-compatible" content="IE=7,IE=8" />
</head>

新版本在head標簽中增加:

<head>
<meta http-equiv="x-ua-compatible" content="IE=9" />
</head>

還有一種就是永遠使用最新版本這樣就不怕瀏覽器升級了:

<head>
<meta http-equiv="x-ua-compatible" content="IE=edge" />
</head>

?8.邊框屬性的位置

我們在布局的時候往往會產生邊框導致布局錯亂的現象,這就是邊框產生的位置導致的。邊框產生的位置只有兩個地方,在內容內,在內容外,請看下面介紹。

?box-sizing:這是一個css3的屬性他用來控制邊框的位置產生在哪里。

?box-sizing:border-box:產生在內容內,簡單來說就是如果你設置一個div寬和高都是50px,然后設置邊框寬度為1px,如果設置屬性,那么你可用的內容寬像素是48px=50px-2px(左右兩個邊框),高同理。

?box-sizing:content-box:產生在內容外,這個好理解,也是我們最普遍見到的,就是在內容外繪制邊框。例如還是上面,設置了50px后,你可用內容寬像素還是50不會變化。這個就是有時候我們設置好兩個并排元素寬相加等于父元素但是第二個會被擠下去的原因。

本文轉載于:猿2048?https://www.mk2048.com/blog/blog.php?id=h2k1jaa&title=【CSS】小妙招,各種問題總結方法處理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370787.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java2Days 2012:Java EE

Java2Days會議是東歐的主要活動&#xff0c;目的是介紹Java開發的最新趨勢。 今年&#xff0c;該活動于10月25日至26日在保加利亞的索非亞舉行。 我在那里&#xff0c;并有機會與一些SAP的同事一起品嘗了一些最新的Java&#xff0c;云和移動內容&#xff0c;這些內容已直接發送…

html5布局總結,HTML5網頁布局的總結

可以通過 和 將 html 元素組合起來。html 塊元素大多數 html 元素被定義為塊級元素或內聯元素。編者注&#xff1a;“塊級元素”譯為 block level element&#xff0c;“內聯元素”譯為 inline element。塊級元素在顯示時&#xff0c;通常會以新行來開始(和結束)。例子&#x…

c++ 優先隊列_C/C++數據結構:隊列結構最全解析!帶你零基礎入門隊列結構

前言上一章節針對于C語言棧結構做了解析&#xff0c;不清楚的可以回顧一下。本章節主要針對于C語言的基礎數據結構隊列做以解析。數據結構之隊列隊列是一種特殊的 線性表 &#xff0c;特殊之處在于它只允許在表的前端&#xff08;front&#xff09;進行刪除操作&#xff0c;而在…

bit-map再顯身手:test.txt中有42億個無符號整數, 求不存在于test.txt中的最小無符號整數。限制: 可用內存為600MB....

先看看這個題目&#xff1a;test.txt中有42億個無符號整數&#xff0c; 求不存在于test.txt中的最小無符號整數. 限制&#xff1a; 可用內存為600MB. 又是大數據。 看到42億&#xff0c; 有靈感沒&#xff1f; 要知道&#xff0c; 2的32次方就是42億多一點點啊。42億個無符號…

周期均方根和有效值的區別_黑豬肉和白豬肉有啥區別?

為啥散養黑豬肉的價格要比白豬貴很多?這其中的原因不看不知道!市面上的散養黑豬肉通常要比白豬肉貴很多&#xff0c;但是仍有不少人喜歡買黑豬肉回家吃&#xff0c;散養黑豬肉和白豬肉不僅僅是口感上有所差距&#xff0c;其價值差距體現在很多方面&#xff0c;接下來小編就和大…

BZOJ1734: [Usaco2005 Feb]Aggressive cows 憤怒的牛

【傳送門&#xff1a;BZOJ1734】 簡要題意&#xff1a; 約翰有N 間牛棚&#xff0c;這些牛棚坐落在一條直線上&#xff0c;第i 間牛棚位于坐標Xi 的位置。他要把C 頭 奶牛安排在這些牛棚里。每間牛棚最多可以放一頭奶牛&#xff0c;也可以空著。這些奶牛的脾氣都很暴燥&#xf…

CSS基礎范例

1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>Title</title>6 <style>7 *{8 margin: 0; /*重置*/9 padding: 0…

測試環境搭建流程_前端構建 DevOps 搭建 DevOps 基礎平臺(中)

前言搭建基礎平臺搭建上篇的時候的時候&#xff0c;已經介紹過了項目流程設計、數據庫搭建、jwt 登錄等模塊。此篇我們介紹分支管理設計及其他的基礎模塊。后端模塊DevOps - Gitlab Api使用(已完成&#xff0c;點擊跳轉)DevOps - 搭建 DevOps 基礎平臺(已完成 50%)基礎平臺搭建…

什么是PermGen泄漏?

接下來是對Java應用程序中特定類型的內存問題的實用介紹。 即–我們將分析導致java.lang.OutOfMemoryError&#xff1a;PermGen空間的錯誤 堆棧跟蹤中的癥狀。 首先&#xff0c;我們將介紹理解該主題所需的核心概念&#xff0c;并說明什么是對象&#xff0c;類&#xff0c;類…

html浮動炫酷樣式,jQuery和CSS3炫酷表單浮動標簽特效

這是一款炫酷的jQuery和CSS3表單浮動標簽特效。浮動標簽是指輸入框中的文字或占位文本在輸入框聚焦的時候&#xff0c;以動畫的方式浮動到指定的地方。浮動標簽特效是一種新穎時尚的動畫特效&#xff0c;不僅效果很酷&#xff0c;而且能以明確的方式提示用戶該輸入框應該填寫上…

rto凈化效率計算公式_全面剖析 石油化工行業RTO蓄熱式焚燒爐的優勢要素

在我國的國民經濟發展中&#xff0c;石油化工產業是重要的能源基礎工業&#xff0c;但是廢氣的治理問題一直困擾著許多企業。直到RTO蓄熱式焚燒爐的面世&#xff0c;為石油化工行業的廢氣治理帶來了新希望。如今&#xff0c;有機廢氣治理工作越來越受到廣泛重視&#xff0c;傳統…

python作業:高級FTP程序

要求&#xff1a; 用戶加密認證允許同時多用戶登錄每個用戶有自己的家目錄 &#xff0c;且只能訪問自己的家目錄對用戶進行磁盤配額&#xff0c;每個用戶的可用空間不同允許用戶在ftp server上隨意切換目錄允許用戶查看當前目錄下文件允許上傳和下載文件&#xff0c;保證文件一…

webpack學習筆記 (一)

一、安裝nodejs&#xff1b; 點擊打開nodejs官方站點&#xff1b; 點擊下圖框住的按鈕&#xff0c;下周nodejs安裝包&#xff1b; 安裝下載好的安裝包。 安裝完畢之后&#xff0c;在cmd中輸入node -v查看是否已經安裝成功 如果有版本號顯示&#xff0c;則代表安裝成功&#xf…

將渦輪增壓器添加到JEE Apps

我扮演的關鍵角色之一是在本地社區中傳播Akka。 作為討論的一部分&#xff0c;人們通常會想到的問題/疑問是Akka如何針對編寫良好的Java / JEE應用程序提供更好的可伸縮性和并發性。 由于底層硬件/ JVM保持不變&#xff0c;因此參與者模型如何比傳統的JEE應用程序發揮更多的功…

python package_python之package定義

一.簡單說明 python是通過module組織代碼的&#xff0c;每一個module就是一個python文件&#xff0c;但是modules是通過package來組織的。我們平時在簡單測試的時候 一般就是幾個Python文件存放在同級的目錄下&#xff0c;但是當我們開始嘗試開發更為復雜的項目時&#xff0c;p…

html 手機端無法拖動地圖,關于騰訊地圖api的禁止地圖拖動問題

禁用滾動和拖動*{margin:0px;padding:0px;}body, button, input, select, textarea {font: 12px/16px Verdana, Helvetica, Arial, sans-serif;}p{width:603px;padding-top:3px;overflow:hidden;}.btn{width:142px;}#container{min-width:600px;min-height:767px;}//初始化函數…

《一起》個人進展——Day07

昨天做了些什么:實現登錄界面的美化 今天的計劃:還是準備進行與其他界面的融合 遇到的困難:代碼了解不夠&#xff0c;融合起來會出現bug轉載于:https://www.cnblogs.com/gxt-/p/6828131.html

epoll nio區別_【總結】兩種 NIO 實現:Selector 與 Epoll

我想用這個話題小結下最近這一階段的各種測試和開發。其實文章的內容主要還是想總結一下NIO Socket&#xff0c;以及兩種不同操作系統實現NIO的方式&#xff0c;selector和epoll。問題應該從服務器端開始說起。我們都寫過net包下的socket&#xff0c;用socket的accept方法來等待…

MapReduce的工作原理

一、MapReduce模型框架 MapReduce是一個用于大規模數據處理的分布式計算模型&#xff0c;最初由Google工程師設計并實現的&#xff0c;Google已經將完整的MapReduce論文公開發布了。其中的定義是&#xff0c;MapReduce是一個編程模型&#xff0c;是一個用于處理和生成大規模數據…

react實現多行文本超出加省略號

http://www.css88.com/archives/5206 overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 根據該文章方法&#xff0c;放在react項目中發現并不能實現&#xff0c;仔細觀察發現原來react解析出來的css樣…