css基础(选择器和非布局样式)

css  Cascading Style Sheet  层叠样式表。css初体验如下:

从浏览器截图总可看出层叠的样式,重合的部分根据选择器权重来决定。

基本规则:

选择器{ 属性:值;属性:值;}

选择器,用于匹配HTML元素,有不同的匹配规则,多个选择器是可以叠加的;分类和权重;解析方式和性能;值得关注的选择器。

如下面一段style代码:

浏览器实际如何解析选择器 .body div .hello{}呢,并不是按照我们想象的从左到右,而是从右到左,加快浏览器解析css,这种方式更快能确定哪个不是选择的元素,找到需要的元素。

选择器的分类:

元素选择器 a{}

伪元素选择器 ::before{}  ::after{} 不会出现在dom中,有样式有内容。以前老版本的ie,还是:而不是::。

类选择器 ,比如.link{}

属性选择器 ,比如 [type=radio]{}  选中单选框。 

伪类选择器 ,比如:hover{}  是一个元素的状态,而伪元素是真实的显示在页面中的元素。

ID选择器 #id{}

组合选择器 ,比如[type=checkbox] + label{}

否定选择器 ,比如:not(.link){}

通用选择器 *{}


选择器权重:

ID选择器 #id{} +100

类 属性 伪类 +10

元素 伪元素 +1

其他选择器 +0

比如,#id .link a[href]   :#id+100 , .link +10, a +1, [href] +10  总共121

计算时,计算一个不进位的数字,意思即使有11个类选择器,权重也不会查过id选择器,反应在css样式上,在有相同属性样式选择上,仍然是应用id选择器的样式。俗话说,‘官大一级,压死人’,这里是‘权重大一级,压死人’。

在选择器权重上,还需要遵守的规则是:!important 优先级最高;元素属性(内联的样式 style='') 优先级高;相同权重 后写的生效。


非布局样式:

字体、字重、颜色、大小、行高、背景、边框、滚动、换行、粗体、斜体、下划线、其它。

字体:字体族,serif sans-serif monospace  cursive fantasy。多字体fallback,指定多个,有的话就渲染,否则就往后面找。网络字体、自定义字体。iconfont(文字当图片用)。




字体族是不写双引号,字体才加双引号。因为不同平台上安装和需要显示用的字体不一样,所以开发人员往往要写出很长的font-family。

此外如何使用网络字体、自定义字体呢。例子如下:

这里要注意,如果src引用不在本地,存在跨域,还需要解决跨域的问题,可以让对方加上对应的header允许跨域,而link标签是不存在跨域的。

而iconfont如何用,可以看国内用的比较多的 阿里巴巴矢量图标库,上面有详细的教程和资源。

行高:布局时候,书写html渲染出来,是以行排版的,那么有多高,行高的构成,行高相关的现象和方案,关于行高的调整,就变得尤为重要。

例子如下:


没有标签的是匿名inline box。行高是由line box决定,line box是由inline box的line-height决定的。所以这里是30px。

inline-box背景颜色background是根据字体大小font-size渲染的,根据底线和顶线,文字对齐的线是基线。可以看出,line -height比font-size大,则高度分布两侧,则这个元素在容器中垂直居中。

inline-box中默认按照基线对齐,如果想设置对齐方式,用vertical-align来设置,middle top bottom  也可以用像素px来调整,指离base line距离,这个不建议按照调整距离来做。

图片的3px问题,是因为默认image是inline元素,所以按照基线对齐,而不是底线,那么基线和底线之间就会出现缝隙。解决方案:vertical-align:bottom 或者display:block。(还有设置vertical-align:-3px;可以吗?因为既然题目指定了3px的缝隙问题)


另外一个非布局样式,背景:在容器中,作为一种铺垫,不会影响正文的排布。

背景颜色,渐变色背景,多背景叠加,背景图片和属性(雪碧图),base64和性能优化,多分辨率适配。

background:颜色的英文单词/rgb/rgba/hsl/hsla/16进制来表示(共6位,两位一样写一位,只要写三位就行,如#F00)  hsla(色相,饱和度,亮度,透明度)用起来比较方便,容易调整。 16进制的比较精准,但是不那么直观。

测试代码如上,url表示图片地址时,图片的大小和容器的大小决定了图片的显示,如果长度或者高度比图片的高度和长度大,则图片会平铺或竖铺。linear-gradient这个属性,函数(特性)接受的第一个参数是渐变的角度,他可以接受一个表示角度的值(可用的单位deg、rad、grad或turn)或者是表示方向的关键词(top、right、bottom、left、left top、top right、bottom right或者left bottom)。第二个参数是接受一系列颜色节点(终止点的颜色)。关于这个属性的详细介绍,尤其是角度变化时候,颜色是如何变化时候,‘https://www.w3cplus.com/css3/do-you-really-understand-css-linear-gradients.html’中有非常棒的介绍。还有background-position,background-repeat,background-size等了可以实现网格,波浪线,还有形成雪碧图来优化页面。图片转换成base64,放在url(在线编码的值或者交给构建工具来做),这样能减少http请求,但是图片转换成base64体积会增大三分之一左右,而且还有解码开销,所以是否使用它需要具体对待(小图标等)。

把上面 background-size的高度增大一倍,则成波浪线。

下面继续下一个非布局样式-边框,border:

边框的属性:线性 大小 颜色

边框背景图

边框衔接(三角形)

三角形实现

利用的是border相切时候称斜线,同时盒子模型中width设置不包括border,上面加上border-radius:30px;则是扇形。上面呈现的是等边三角形,改变对应的border宽度,则得到对应锐角或者钝角三角形

非布局样式-滚动:当容器装不下内容的时候,就会产生滚动。

滚动行为和滚动条。可设置对应属性overflowvisible  hidden  scroll  auto

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

推荐阅读更多精彩内容

  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,317评论 2 66
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,756评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,513评论 1 45
  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,093评论 0 40
  • 加班,敷衍的加班对一个团队更没有好处,加班的目的是创造效益,如果只加班了没有创造出效益不如不加班。
    kyle房成阅读 194评论 0 1