css(二):css基础

一.选择器

五种:基础选择器,组合选择器,属性选择器,伪元素选择器,伪类选择器。

基础选择器

选择器 名称 说明
* 通用选择器 选择所有元素,包括html和body
div,span 标签选择器 根据标签选择元素
# id选择器 选择指定id元素
. 类选择器 选择指定class

组合选择器

选择器 名称 说明
s1,s2,s3 分组选择器 选择多个选择器的元素
s1 s2 后代选择器 指定选择器的后代元素
s1 > s2 子选择器 指定选择器的子元素
s1+s2 相邻兄弟选择器 选择相邻且之后的元素
s1~s2 兄弟选择器 选择之后的元素

属性选择器

属性择器 含义
E[attr] 匹配所有具有属性attr的元素,div[id]就能取到所有有id属性的div
E[attr = value] 匹配属性attr值为value的元素,div[id=test],匹配id=test的div
E[attr ~= value] 匹配所有属性attr具有多个空格分隔、其中一个值等于value的元素
E[attr ^= value] 匹配属性attr的值以value开头的元素
E[attr $= value] 匹配属性attr的值以value结尾的元素
E[attr *= value] 匹配属性attr的值包含value的元素

伪元素选择器

选择器 名称 说明
::first-line伪元素选择器 块级首行
::first-letter 伪元素选择器 块级首字母
::before 伪元素选择器 选择元素之前插入内容
::after 伪元素选择器 选择元素之后插入内容
::selection 伪元素选择器 光标滑动选择内容

伪类选择器(伪类选择器之结构性伪类选择器)

选择器 名称 说明
:root 根元素选择器 文档根元素,一般为htm
:first-child 子元素选择器 最后一个子元素
:last-child 子元素选择器 选择元素之前插入内容
:first-of-type 子元素选择器 同种标签的第一个子元素,等同于:nth-of-type(1)
:last-of-type 子元素选择器 同种标签的最后一个子元素,等同于:nth-last-of-type(1)
:only-child 子元素选择器 只有一个子元素的
:only-of-type 子元素选择器 子元素只有一种类型的
:nth-child(n) 子元素选择器 第n个子元素
:nth-last-child(n) 子元素选择器 倒数第n个子元素,第一个编号为1
:nth-of-type(n) 子元素选择器 nth-child()作用类似,但是仅匹配使用同种标签的元素
:nth-last-of-type(n) 子元素选择器 nth-last-child() 作用类似,但是仅匹配使用同种标签的元素

伪类选择器之UI选择器(input标签用)

选择器 名称 说明
:enabled 表单元素选择器 input非disabled时
:disable 表单元素选择器 input标签disabled时
:checked 表单元素选择器 input标签checked时
:default 表单元素选择器 选择元素之后插入内容
:valid 表单元素选择器 选择元素之后插入内容
:invalid 表单元素选择器 块级首字母
:required 表单元素选择器 选择元素之前插入内容
:optional 表单元素选择器 选择元素之后插入内容

伪类选择器之动态伪类

选择器 名称 说明
:link 动态伪类选择器 未被访问时
:visited 动态伪类选择器 已被访问时
:hover动态伪类选择器 鼠标移上时
:default 动态伪类选择器 选择元素之后插入内容
:active 动态伪类选择器 访问中跳转页面时
:focus 动态伪类选择器 获得焦点时

伪类选择器之其他

选择器 名称 说明
:not 动态伪类选择器 反选
:empty 动态伪类选择器 空内容
:lang 鼠标移上时 包含lang元素
:target 动态伪类选择器 url中有target时

二.基本属性

2.1背景

 div{
            width:200px;
            height: 200px;
            background: #00FF00 url(bgimage.gif) no-repeat fixed top;
            /*
            background-color:red |  #000 |  rgb(255,0,0) |  transparent  |  inhrrit;
            background-position:方向值top left  |  20% 50%  |  30px 30px;
            background-size:100% 100%  |  200px 300px | 200px auto |  cover  |  contain;
            background-repeat: repeat  |  repeat-x  |  repeat-y  |  no-repeat  |  inherit;
            background-origin: padding-box | border-box | content-box;
            background-clip:border-box|padding-box|content-box;(Internet Explorer 8 以及更早的版本不支持)
            background-attachment:scroll | fixed | inherit ;(规定背景图像是否固定或者随着页面的其余部分滚动。)
            background-image: url("URL") | none  |inherit;(IE8 以及更早的浏览器不支持一个元素多个背景图像。)
            */
        }

2.2 文本

p{
            /*文本*/
            color:#000;/*red |  #000 |  rgb(255,0,0) |  transparent  |  inhrrit*/
            direction: rtl;/* ltr:默认。文本方向从左到右。rtl:  文本方向从右到左。inherit:   规定应该从父元素继承 direction 属性的值。*/
            letter-spacing: 2px;/* 也可以为负值*/
            line-height: 30px;/* 也可设置百分比*/
            text-align: center;/*left、right、center、justify(实现两端对齐文本效果。) */
            text-decoration: underline;/* none:默认。overline:定义文本上的一条线。line-through:定义穿过文本下的一条线。blink:    定义闪烁的文本。*/
            text-indent: 2em;/*也可设置px */
            text-shadow: 5px 5px 5px #FF0000;/*IE9以及以下都不支持 */
            text-transform:uppercase;  /*none:默认;capitalize:文本中的每个单词以大写字母开头;uppercase:定义仅有大写字母;lowercase:定义无大写字母,仅有小写字母;inherit:规定应该从父元素继承 text-transform 属性的值。*/
            white-space: nowrap;/*normal:空白会被浏览器忽略。pre:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。pre-wrap:保留空白符序列,但是正常地进行换行。pre-line:合并空白符序列,但是保留换行符。inherit: 规定应该从父元素继承 white-space 属性的值。*/
            word-spacing: 10px;/*设置单词间距。*/
            text-align:justify;text-justify: inter-word;/*齐行改变单词间的间隔:只有 Internet Explorer 支持 text-justify 属性。*/
            text-outline: 2px 2px #ff0000;/* 属性规定文本轮廓。所有主流浏览器都不支持 text-outline 属性。*/
           text-overflow: ellipsis; /*clip|ellipsis|string 规定当文本溢出包含元素时发生的事情*/
            word-break: normal;/*normal:使用浏览器默认的换行规则。|break-all:允许在单词内换行。|keep-all:只能在半角空格或连字符处换行。;*/
            word-wrap: break-word;/*    在长单词或 URL 地址内部进行换行。 */
        }

2.3 字体

/*字体*/
            font:bold 16px/30px "simSun";/*font连写 */
             font-family: Andalus;/*规定文本的字体系列。 */
            font-size: 20px;/*规定文本的字体尺寸。 */
            font-style: italic;/*规定文本的字体样式。 */
            font-weight: bold;/*规定字体的粗细。 */

2.4列表

 ul li{
            list-style: none;
            list-style-image: url("/i/arrow.gif");/*将图象设置为列表项标记。 */
            list-style-type: square; /* circle、upper-roman、lower-alpha 设置列表项标记的放置位置。*/
            list-style-position:inside;/*outside inside 设置列表项标记的类型。*/

        }

2.5 框模型
border


四.浮动

float:left/right;
清除浮动的四种方法:
<!--常用4种清除浮动的方法-->
1.使用空标记,隔墙放;<div style="clear:both;height:0px;"></div>
2.父盒子使用overflow:hidden;但是,不能和position配合使用,因为超出的尺寸的会被隐藏。
3.父盒子使用display:table,原理:将div属性变成表格,只做了解不推荐。
4.使用after清除浮动,给父盒子添加类 clearfix
 .clearfix:after{
            content: " " ;
            display: block;
            height: 0;
            line-height: 0;
            visibility: hidden;
            clear: both;
        }
        .clearfix{
            zoom:1;
        }

五.定位
1.相对定位:自恋型,以自己左上角为基准设置定位,占位置;
2.相对定位:看脸型,如果有父盒子以父盒子为准(子绝父相),如果没有以浏览器为准,不占位置;
3.静态定位:static,占位置。
4.固定定位:固执型,不占位置;
六.区别overlow:hidden display:none; visibility: hidden;
overlow:hidden---内容会被修剪,并且其余内容是不可见的,即超出部分隐藏,不占位置。
display:none; ---隐藏后不占位置
visibility: hidden;---隐藏后占位置
七.vertical-align基线问题

309980-20170823155758933-1259394651.gif
  .verticleDiv {
            width: 300px;
            height: 100px;
            border: 1px solid #000;
            line-height: 100px;
            font-size:20px;
            vertical-align: bottom;
        }

        img.top {vertical-align:text-top}
        img.bottom {vertical-align:text-bottom}
        img.middle {vertical-align:middle}
<p>
    这是一幅<img border="0" src="../eg_cute.gif" />位于段落中的图像。
</p>
<div class="verticleDiv">
    位于段落中的图像位于段落中
</div>
<p>
    这是一幅<img class="top" border="0" src="../eg_cute.gif" />位于段落中的图像。
</p>
<p>
    这是一幅<img class="bottom" border="0" src="../eg_cute.gif" />位于段落中的图像。
</p>
<p>
    这是一幅<img class="middle" border="0" src="../eg_cute.gif" />位于段落中的图像。
</p>
<!--让图片居中显示在div里面-->
<div style="width:200px;height:200px;line-height:200px;border:1px solid #000;text-align: center;">
    <img class="middle" border="0" src="../eg_cute.gif" />
    <!--<p style="display: inline;font-size:36px;">55555555</p>-->
</div>

小结:图片居中显示在div中,div设置height、line-height 、text-align:center; 图片设置vertical:middle.

三、盒模型

盒模型:包含margin+border+padding+content
用css设置的宽高属性默认是content的,但在ie5以及更早的浏览器中宽高属性包含border+padding+content
设置padding和border都会影响盒子的实际大小(ie5以及更早的浏览器不会,会把content空间挤小)
可以通过css3的box-sizing设置盒模型。
参考资料:https://segmentfault.com/a/1190000008789039?utm_source=tuicool&utm_medium=referral

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,625评论 1 92
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,755评论 0 6
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,003评论 0 40
  • 总介绍 核心 : 层叠(只盖住,不会消失) 三种css插入方式:嵌入(标签内) 内联(head内style) 外联...
    李霖弢阅读 334评论 0 0
  • CSS 是什么 css(Cascading Style Sheets),层叠样式表,选择器{属性:值;属性:值}h...
    崔敏嫣阅读 1,441评论 0 5