css基礎(chǔ)

CSS


  • 子選擇器 (>)
    .first>span{border:1px solid red;}

  • 通用選擇器 *
    * {color:red;}

  • 偽類選擇符
    它允許給html不存在的標(biāo)簽(標(biāo)簽的某種狀態(tài))設(shè)置樣式此改,比如說(shuō)我們給html中一個(gè)標(biāo)簽元素的鼠標(biāo)滑過(guò)的狀態(tài)來(lái)設(shè)置字體顏色:a:hover{color:red}

  • CSS的某些樣式是具有繼承性的,
    p{color:red;} <p>三年級(jí)時(shí),我還是一個(gè)<span>膽小如鼠</span>的小女孩斯入。</p>
    可見右側(cè)結(jié)果窗口中p中的文本與span中的文本都設(shè)置為了紅色豁翎。但注意有一些css樣式是不具有繼承性的主经。如border:1px solid red;

  • 特殊性
    標(biāo)簽的權(quán)值為1陪白,類選擇符的權(quán)值為10窍株,ID選擇符的權(quán)值最高為100煮落。例如下面的代碼:

p span{color:green;} /*權(quán)值為1+1=2*/
.warning{color:white;} /*權(quán)值為10*/
p span.warning{color:purple;} /*權(quán)值為1+1+10=12*/
#footer .note p{color:yellow;} /*權(quán)值100+10+1=111*/

注意:還有一個(gè)權(quán)值比較特殊--繼承也有權(quán)值但很低敞峭,有的文獻(xiàn)提出它只有0.1,所以可以理解為繼承的權(quán)值最低蝉仇。

  • 層疊就是在html文件中對(duì)于同一個(gè)元素可以有多個(gè)css樣式存在旋讹,當(dāng)有相同權(quán)重的樣式存在時(shí)殖蚕,會(huì)根據(jù)這些css樣式的前后順序來(lái)決定,處于最后面的css樣式會(huì)被應(yīng)用沉迹。

  • 最高權(quán)值 !important

  • p a{font-style:italic;} 文字斜體

  • p a{text-decoration:underline;} 下劃線

  • .oldPrice{text-decoration:line-through;} 刪除線

  • p{text-indent:2em;} 段落排版縮進(jìn)

  • p{line-height:2em;} 段落排版--行間距(行高)

  • h1{ letter-spacing:50px; } 文字間隔或者字母間隔
    h1{ word-spacing:50px; }單詞之間間隔

  • 塊級(jí)元素 文本圖片樣式text-align:center/left/right;

  • 常用的塊狀元素有:

<div>睦疫、<p>、<h1>...<h6>鞭呕、<ol>蛤育、<ul>、<dl>琅拌、<table>缨伊、<address>、<blockquote> 进宝、<form>

常用的內(nèi)聯(lián)元素有:

<a>刻坊、<span>、<br>党晋、<i>谭胚、<em>、<strong>未玻、<label>灾而、<q>、<var>扳剿、<cite>旁趟、<code>

常用的內(nèi)聯(lián)塊狀元素有:

<img>、<input>
  • display:block就是將元素顯示為塊級(jí)元素
    塊級(jí)元素特點(diǎn):
    1.每個(gè)塊級(jí)元素都從新的一行開始庇绽,并且其后的元素也另起一行锡搜。(真霸道,一個(gè)塊級(jí)元素獨(dú)占一行)
    2.元素的高度瞧掺、寬度耕餐、行高以及頂和底邊距都可設(shè)置。
    3.元素寬度在不設(shè)置的情況下辟狈,是它本身父容器的100%(和父元素的寬度一致)肠缔,除非設(shè)定一個(gè)寬度。

  • display:inline將元素設(shè)置為內(nèi)聯(lián)元素
    內(nèi)聯(lián)元素特點(diǎn):
    1哼转、和其他元素都在一行上明未;
    2、元素的高度壹蔓、寬度及頂部和底部邊距不可設(shè)置亚隅;
    3、元素的寬度就是它包含的文字或圖片的寬度庶溶,不可改變煮纵。
    小伙伴們你們觀查一下右側(cè)代碼段,有沒有發(fā)現(xiàn)一個(gè)問(wèn)題偏螺,內(nèi)聯(lián)元素之間有一個(gè)間距問(wèn)題行疏,這個(gè)問(wèn)題在本小節(jié)的 wiki 中有介紹,感興趣的小伙伴可以去查看套像。

  • display:inline-block就是將元素設(shè)置為內(nèi)聯(lián)塊狀元素酿联。
    inline-block 元素特點(diǎn):
    1、和其他元素都在一行上夺巩;
    2贞让、元素的高度、寬度柳譬、行高以及頂和底邊距都可設(shè)置喳张。


盒模型

  • 邊框:border:1px solid red;
    分開寫
  div{
    border-width:2px;
    border-style:solid;
    border-color:red;
    }

border-style(邊框樣式)常見樣式有:
dashed(虛線)| dotted(點(diǎn)線)| solid(實(shí)線)。

  • css內(nèi)定義的寬(width)和高(height)美澳,指的是填充以里的內(nèi)容范圍销部。

元素實(shí)際寬度(盒子的寬度)=左邊界(margin-left)+左邊框(border-left)+左填充(padding-left)+內(nèi)容寬度(width)+右填充(padding-right)+右邊框(border-right)+右邊界(margin-right)。

  • div{padding:20px 10px 15px 30px;}上右下左

布局模型

  • 在網(wǎng)頁(yè)中制跟,元素有三種布局模型:
  • 1舅桩、流動(dòng)模型(Flow)
  1. 塊狀元素都會(huì)在所處的包含元素內(nèi)自上而下按順序垂直延伸分布,因?yàn)樵谀J(rèn)狀態(tài)下雨膨,塊狀元素的寬度都為100%擂涛。實(shí)際上,塊狀元素都會(huì)以行的形式占據(jù)位置聊记。
  2. 在流動(dòng)模型下撒妈,內(nèi)聯(lián)元素都會(huì)在所處的包含元素內(nèi)從左到右水平分布顯示。(內(nèi)聯(lián)元素可不像塊狀元素這么霸道獨(dú)占一行)
  • 2甥雕、浮動(dòng)模型 (Float)
    任何元素在默認(rèn)情況下是不能浮動(dòng)的踩身,但可以用 CSS 定義為浮動(dòng),如 div社露、p挟阻、table、img 等元素都可以被定義為浮動(dòng)峭弟。
  • 3附鸽、層模型(Layer)
    1、絕對(duì)定位(position: absolute)
    如果想為元素設(shè)置層模型中的絕對(duì)定位瞒瘸,需要設(shè)置position:absolute(表示絕對(duì)定位)坷备,這條語(yǔ)句的作用將元素從文檔流中拖出來(lái),然后使用left情臭、right省撑、top赌蔑、bottom屬性相對(duì)于其最接近的一個(gè)具有定位屬性的父包含塊進(jìn)行絕對(duì)定位。如果不存在這樣的包含塊竟秫,則相對(duì)于body元素娃惯,即相對(duì)于瀏覽器窗口。
    2肥败、相對(duì)定位(position: relative)
    如果想為元素設(shè)置層模型中的相對(duì)定位趾浅,需要設(shè)置position:relative(表示相對(duì)定位),它通過(guò)left馒稍、right皿哨、top、bottom屬性確定元素在正常文檔流中的偏移位置纽谒。相對(duì)定位完成的過(guò)程是首先按static(float)方式生成一個(gè)元素(并且元素像層一樣浮動(dòng)了起來(lái))证膨,然后相對(duì)于以前的位置移動(dòng),移動(dòng)的方向和幅度由left佛舱、right椎例、top、bottom屬性確定请祖,偏移前的位置保留不動(dòng)订歪。
    3、固定定位(position: fixed)
    fixed:表示固定定位肆捕,與absolute定位類型類似刷晋,但它的相對(duì)移動(dòng)的坐標(biāo)是視圖(屏幕內(nèi)的網(wǎng)頁(yè)窗口)本身。由于視圖本身是固定的慎陵,它不會(huì)隨瀏覽器窗口的滾動(dòng)條滾動(dòng)而變化眼虱,除非你在屏幕中移動(dòng)瀏覽器窗口的屏幕位置,或改變?yōu)g覽器窗口的顯示大小席纽,因此固定定位的元素會(huì)始終位于瀏覽器窗口內(nèi)視圖的某個(gè)位置捏悬,不會(huì)受文檔流動(dòng)影響,這與background-attachment:fixed?屬性功能相同润梯。

使用position:absolute可以實(shí)現(xiàn)被設(shè)置元素相對(duì)于瀏覽器(body)設(shè)置定位以后过牙,大家有沒有想過(guò)可不可以相對(duì)于其它元素進(jìn)行定位呢?答案是肯定的纺铭,當(dāng)然可以寇钉。使用position:relative來(lái)幫忙,但是必須遵守下面規(guī)范:
1舶赔、參照定位的元素必須是相對(duì)定位元素的前輩元素:

<div id="box1"><!--參照定位的元素-->
    <div id="box2">相對(duì)參照元素進(jìn)行定位</div><!--相對(duì)定位元素-->
</div>

從上面代碼可以看出box1是box2的父元素(父元素當(dāng)然也是前輩元素了)扫倡。
2、參照定位的元素必須加入position:relative;

#box1{
    width:200px;
    height:200px;
    position:relative;        
}

3竟纳、定位元素加入position:absolute撵溃,便可以使用top疚鲤、bottom、left征懈、right來(lái)進(jìn)行偏移定位了石咬。

#box2{
    position:absolute;
    top:20px;
    left:30px;         
}

這樣box2就可以相對(duì)于父元素box1定位了(這里注意參照物就可以不是瀏覽器了,而可以自由設(shè)置了)卖哎。

  • 代碼縮寫

p{color:#000000;}
可以縮寫為:
p{color: #000;}
例子2:
p{color: #336699;}
可以縮寫為:
p{color: #369;}

body{
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:12px;
line-height:1.5em;
font-family:"宋體",sans-serif;
}
這么多行的代碼其實(shí)可以縮寫為一句:

body{
font:italic small-caps bold 12px/1.5em "宋體",sans-serif;
}


設(shè)置技巧


  • 行內(nèi)元素水平居中
    text-align:center;
  • 當(dāng)被設(shè)置元素為 塊狀元素 時(shí)用 text-align:center 就不起作用了,這時(shí)也分兩種情況:
  1. 定寬塊狀元素
    滿足定寬和塊狀兩個(gè)條件的元素是可以通過(guò)設(shè)置“左右margin”值為“auto”來(lái)實(shí)現(xiàn)居中的删性。

  2. 不定寬塊狀元素亏娜。

  • 加入 table 標(biāo)簽

table其長(zhǎng)度根據(jù)其內(nèi)文本長(zhǎng)度決定),因此可以看做一個(gè)定寬度塊元素
第一步:為需要設(shè)置的居中的元素外面加入一個(gè) table 標(biāo)簽 ( 包括 <tbody>蹬挺、<tr>维贺、<td> )。
第二步:為這個(gè) table 設(shè)置“左右 margin 居中”(這個(gè)和定寬塊狀元素的方法一樣)巴帮。

  • 設(shè)置 display: inline 方法:與第一種類似溯泣,顯示類型設(shè)為 行內(nèi)元素,進(jìn)行不定寬元素的屬性設(shè)置
  • 設(shè)置position:relativeleft:50%:利用 相對(duì)定位 的方式榕茧,將元素向左偏移 50% 垃沦,即達(dá)到居中的目的

垂直居中

  1. 父元素高度確定的單行文本,
    設(shè)置父元素的 height 和 line-height 高度一致來(lái)實(shí)現(xiàn)的用押。(height: 該元素的高度肢簿,line-height: 顧名思義,行高(行間距)蜻拨,指在文本中池充,行與行之間的 基線間的距離 )。
    <u>弊端:當(dāng)文字內(nèi)容的長(zhǎng)度大于塊的寬時(shí)缎讼,就有內(nèi)容脫離了塊收夸。</u>
  2. 以及父元素高度確定的多行文本。
    方法一:使用插入 table (包括tbody血崭、tr卧惜、td)標(biāo)簽,同時(shí)設(shè)置 vertical-align:middle功氨。
    css 中有一個(gè)用于豎直居中的屬性 vertical-align序苏,在父元素設(shè)置此樣式時(shí),會(huì)對(duì)inline-block類型的子元素都有用捷凄。
    方法二:
display:table-cell;/*IE8以上及Chrome忱详、Firefox*/
    vertical-align:middle;/*IE8以上及Chrome、Firefox*/

有一個(gè)有趣的現(xiàn)象就是當(dāng)為元素(不論之前是什么類型元素跺涤,display:none除外)設(shè)置以下 2 個(gè)句之一:
1.position : absolute

  1. float : left 或 float:right
    簡(jiǎn)單來(lái)說(shuō)匈睁,只要html代碼中出現(xiàn)以上兩句之一监透,元素的display顯示類型就會(huì)自動(dòng)變?yōu)橐?display:inline-block(塊狀元素)的方式顯示,當(dāng)然就可以設(shè)置元素的 width 和 height 了航唆,且默認(rèn)寬度不占滿父元素胀蛮。
    a 標(biāo)簽是 行內(nèi)元素 ,所以設(shè)置它的 width 是 沒有效果的糯钙,但是設(shè)置為 position:absolute 以后粪狼,就可以了。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末任岸,一起剝皮案震驚了整個(gè)濱河市再榄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌享潜,老刑警劉巖困鸥,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異剑按,居然都是意外死亡疾就,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門艺蝴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猬腰,“玉大人,你說(shuō)我怎么就攤上這事吴趴∑岱蹋” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵锣枝,是天一觀的道長(zhǎng)厢拭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)撇叁,這世上最難降的妖魔是什么供鸠? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮陨闹,結(jié)果婚禮上楞捂,老公的妹妹穿的比我還像新娘。我一直安慰自己趋厉,他們只是感情好寨闹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著君账,像睡著了一般繁堡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天椭蹄,我揣著相機(jī)與錄音闻牡,去河邊找鬼。 笑死绳矩,一個(gè)胖子當(dāng)著我的面吹牛罩润,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播翼馆,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼割以,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了应媚?” 一聲冷哼從身側(cè)響起拳球,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎珍特,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魔吐,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扎筒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酬姆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗜桌。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辞色,靈堂內(nèi)的尸體忽然破棺而出骨宠,到底是詐尸還是另有隱情,我是刑警寧澤相满,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布层亿,位于F島的核電站,受9級(jí)特大地震影響立美,放射性物質(zhì)發(fā)生泄漏匿又。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一建蹄、第九天 我趴在偏房一處隱蔽的房頂上張望碌更。 院中可真熱鬧,春花似錦洞慎、人聲如沸痛单。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旭绒。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間快压,已是汗流浹背圆仔。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蔫劣,地道東北人坪郭。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脉幢,于是被迫代替她去往敵國(guó)和親歪沃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • CSS格式化排版 1嫌松、字體 我們可以使用css樣式為網(wǎng)頁(yè)中的文字設(shè)置字體沪曙、字號(hào)、顏色等樣式屬性萎羔。下面我們來(lái)看一個(gè)例...
    張文靖同學(xué)閱讀 1,287評(píng)論 0 3
  • 一.CSS描述 CSS全稱為“層疊樣式表(Cascading Style Sheets)”液走,它主要是用于定義HTM...
    snowy_sunny閱讀 1,076評(píng)論 0 4
  • Html 標(biāo)簽 斜體 粗體 單獨(dú)的樣式 引用文本 長(zhǎng)文本引用 換行 空格 分割線 地址信息 單行代碼 多行代碼 無(wú)...
    SunnySky_閱讀 556評(píng)論 0 5
  • 問(wèn)答題47 /72 常見瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 背景:看完《深入理解Java虛擬機(jī)》和相關(guān)博客贾陷,對(duì)JVM還是沒有一個(gè)條理清晰的認(rèn)識(shí)缘眶,遂提取了書中相關(guān)知識(shí)點(diǎn)和參考相...
    LandHu閱讀 398評(píng)論 0 3