热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

CSS 

 CSS简介CSS指层叠样式表(Cascading Style Sheets),样式定义 如何显示 HTML元素。样式通常存储在样式表中,当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。CSS语法CSS规则由两个主要的部分构成:选择器,以及一条或多条声明:1.选择器通常是您需要改变样式的HTML元素。2.每条声明由一个属性和一个值

 CSS简介

CSS 指层叠样式表 (Cascading Style Sheets),样式定义 如何显示 HTML 元素。

样式通常存储在样式表中,当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。

CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

如果图像位于 0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是 100% 100%,会使图像的右下角放在右边距的右下角。

因此,如果你想把一个图像放在水平方向 2/3、垂直方向 1/3 处,可以这样声明:

body { 
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-position:66% 33%;
 }

长度值

长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角。

比如,如果设置值为 50px 100px,图像的左上角将在元素内边距区左上角向右 50 像素、向下 100 像素的位置上:

body{ 
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-position:50px 100px;
 }

背景关联

如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。

可以通过 background-attachment 属性防止这种滚动。通过这个属性,可以声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响:

body {
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-attachment:fixed
}

background-attachment 属性的默认值是 scroll,也就是说,在默认的情况下,背景会随文档滚动。

repeat center center; background-attachment: fixed; } .d1 { height: 500px; background-color: tomato; } .d2 { height: 500px; background-color: steelblue; } .d3 { height: 500px; background-color: mediumorchid; }
鼠标滚动背景不动

 

5.边框

元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。CSS border 属性允许你规定元素边框的样式、宽度和颜色。

边框的样式:border-style

a {
    border-style: solid;
}

圆形头像代码

 

10.position定位属性

position:relative | absolute | fixed

static

默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。

relative(相对定位)

  相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据 top,right,bottom,left 等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

注意:position:relative 的一个主要用法:方便绝对定位元素找到参照物。

absolute(绝对定位)

  定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

  重点:如果父级设置了position属性,例如 position: relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那子元素就设置 position: absolute; 、父元素设置 position: relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

  另外,对象脱离正常文档流,使用 top,right,bottom,left 等属性进行绝对定位。而其层叠通过z-index属性定义。

总结:参照物用相对定位,子元素用绝对定位,并且保证相对定位参照物不会偏移即可。

fixed(固定)

  fixed:对象脱离正常文档流,使用 top,right,bottom,left 等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position: absolute | fixed; ,则该元素就不能设置float。这是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是"定位流"。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

  在理论上,被设置为 fixed 的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。





  
  
  
  
  


111
返回顶部
返回顶部按钮样式示例

 

仅使用margin属性布局绝对定位元素

此情况,margin-bottom 和margin-right的值不再对文档流中的元素产生影响,因为该元素已经脱离了文档流。另外,不管它的祖先元素有没有定位,都是以文档流中原来所在的位置上偏移参照物。

下图中,使用margin属性布局相对定位元素。

层级关系为:

position:relative;
没有设置为定位元素,不是参照物
没有设置为定位元素,不是参照物
  
  
position:absolute; margin-top:50px; margin-left:120px;
  

CSS
    





            
 

11.z-index

设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位过的元素上奏效。可以理解为Photoshop的图层,这里z-index属性的值越大越在上层。

.c1 {
  z-index: 999;
}

自定义模态框示例,相当于网页上点登陆跳出来的那个框,下载代码仅做示例,等到学了 js 就可以用 js 来触发事件。





  
  
  
  
  



View Code

 

12.opacity

用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

和 rgba() 的区别:

  • opacity 改变元素/子元素的透明度效果
  • rgba() 只改变背景颜色的透明度效果

opacity -- [o'pæsəti] -- n. 不透明;不传导;暧昧 

13.顶部导航栏菜单示例

 

 

 CSS简介

CSS 指层叠样式表 (Cascading Style Sheets),样式定义 如何显示 HTML 元素。

样式通常存储在样式表中,当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。

CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

如果图像位于 0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是 100% 100%,会使图像的右下角放在右边距的右下角。

因此,如果你想把一个图像放在水平方向 2/3、垂直方向 1/3 处,可以这样声明:

body { 
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-position:66% 33%;
 }

长度值

长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角。

比如,如果设置值为 50px 100px,图像的左上角将在元素内边距区左上角向右 50 像素、向下 100 像素的位置上:

body{ 
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-position:50px 100px;
 }

背景关联

如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。

可以通过 background-attachment 属性防止这种滚动。通过这个属性,可以声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响:

body {
    background-image:url("test.png");
    background-repeat:no-repeat;
    background-attachment:fixed
}

background-attachment 属性的默认值是 scroll,也就是说,在默认的情况下,背景会随文档滚动。

repeat center center; background-attachment: fixed; } .d1 { height: 500px; background-color: tomato; } .d2 { height: 500px; background-color: steelblue; } .d3 { height: 500px; background-color: mediumorchid; }
鼠标滚动背景不动

 

5.边框

元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。CSS border 属性允许你规定元素边框的样式、宽度和颜色。

边框的样式:border-style

a {
    border-style: solid;
}

圆形头像代码

 

10.position定位属性

position:relative | absolute | fixed

static

默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。

relative(相对定位)

  相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据 top,right,bottom,left 等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

注意:position:relative 的一个主要用法:方便绝对定位元素找到参照物。

absolute(绝对定位)

  定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

  重点:如果父级设置了position属性,例如 position: relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那子元素就设置 position: absolute; 、父元素设置 position: relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

  另外,对象脱离正常文档流,使用 top,right,bottom,left 等属性进行绝对定位。而其层叠通过z-index属性定义。

总结:参照物用相对定位,子元素用绝对定位,并且保证相对定位参照物不会偏移即可。

fixed(固定)

  fixed:对象脱离正常文档流,使用 top,right,bottom,left 等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position: absolute | fixed; ,则该元素就不能设置float。这是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是"定位流"。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

  在理论上,被设置为 fixed 的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。





  
  
  
  
  


111
返回顶部
返回顶部按钮样式示例

 

仅使用margin属性布局绝对定位元素

此情况,margin-bottom 和margin-right的值不再对文档流中的元素产生影响,因为该元素已经脱离了文档流。另外,不管它的祖先元素有没有定位,都是以文档流中原来所在的位置上偏移参照物。

下图中,使用margin属性布局相对定位元素。

层级关系为:

position:relative;
没有设置为定位元素,不是参照物
没有设置为定位元素,不是参照物
  
  
position:absolute; margin-top:50px; margin-left:120px;
  

CSS
    





            
 

11.z-index

设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位过的元素上奏效。可以理解为Photoshop的图层,这里z-index属性的值越大越在上层。

.c1 {
  z-index: 999;
}

自定义模态框示例,相当于网页上点登陆跳出来的那个框,下载代码仅做示例,等到学了 js 就可以用 js 来触发事件。





  
  
  
  
  



View Code

 

12.opacity

用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

和 rgba() 的区别:

  • opacity 改变元素/子元素的透明度效果
  • rgba() 只改变背景颜色的透明度效果

opacity -- [o'pæsəti] -- n. 不透明;不传导;暧昧 

13.顶部导航栏菜单示例

 

 


推荐阅读
  • 深入探讨PHP中的输出缓冲技术(Output Buffering)
    本文深入解析了PHP中输出缓冲(Output Buffering)的原理及其在Web开发中的应用,特别是如何通过输出缓冲技术有效管理HTTP头部信息,提高代码的灵活性与健壮性。 ... [详细]
  • NFC OMA 接口访问优化
    本文探讨了NFC设备中OMA接口的访问方式,特别是针对IC制造商提供的NFC swp-sim访问与NFC服务提供商对eSe(嵌入式安全元件)访问的不同处理方法。文中提出了几种解决方案以解决由此产生的双SmartcardService运行问题。 ... [详细]
  • 本文探讨了使用JQuery UI可调整大小插件时遇到的一个常见问题:如何在用户调整元素大小后避免不必要的点击事件触发,导致元素被意外取消选中。 ... [详细]
  • 本文介绍了ThinkPHP框架的基本概念及其主要特性。作为一款遵循Apache许可证的开源框架,ThinkPHP不仅支持多种平台和Web服务器,还提供了丰富的功能以适应不同的开发需求。 ... [详细]
  • 第七次团队冲刺进展
    本次站立会议更新了项目进展,包括学生登录注册界面的初步实现和教师网页的设计优化。同时,我们对当前的任务进行了详细的讨论,并调整了后续的工作计划。 ... [详细]
  • php如何更改编码格式?
    php如何更改编码格式? ... [详细]
  • 在安装 CUDA Toolkit 时,系统会自动安装 NVIDIA 驱动。然而,这些默认的驱动可能不适合所有用户的硬件配置,因此有时需要手动安装特定版本的 NVIDIA 驱动。本文将详细介绍如何在 Ubuntu 14.04 系统上正确安装 NVIDIA 驱动和 CUDA Toolkit。 ... [详细]
  • 博主从零开始学习HTML(入门基础)
    从零开始学习HTML(入门基础)互联网三大基石HTTP协议URL:统一资源定位符HTML:超文本标记语言HTML的Head标签中的常用元素<!--告知 ... [详细]
  • 本文详细介绍了如何使用JavaScript实现数据的双向绑定,包括MVVM架构的基本概念、不同框架下的实现方式以及具体的代码示例。 ... [详细]
  • 一年一度的“跳石头”竞赛即将拉开帷幕,赛事将在一条直线型的河流中举行,河流中散布着多个巨大的岩石。比赛的起点和终点已由组织方选定。在起点与终点之间,存在N个岩石(不包括起点和终点)。为了增加比赛的挑战性,组织方计划移除部分岩石,以使选手在比赛中的最小跳跃距离最大化。 ... [详细]
  • 在不断发展的信息技术领域,选择合适的数据库管理系统对项目成功至关重要。本文通过比较Oracle和SQL Server两种主流数据库,探讨它们在不同应用场景下的优缺点,帮助开发者根据自身需求做出合理选择。 ... [详细]
  • Java Set集合源码深度解析
    本文将深入探讨Java集合框架中的Set接口及其主要实现类HashSet、LinkedHashSet和TreeSet的源码实现,帮助读者理解这些集合类的工作原理及应用场景。 ... [详细]
  • FreeBSD作为Berkeley Software Distribution (BSD)的一个关键分支,其发展历程深刻影响了现代操作系统的设计。本文将探讨FreeBSD从早期版本到最新版本的技术进步及其对计算行业的贡献。 ... [详细]
  • 参加了清北学堂的入学测试,共六题获得363分,而进入省选班的平均分数为466分,显然还有较大的提升空间。今日深刻体会到搜索算法的挑战性,尽管每次尝试都未能成功。经过三小时的努力,仍未完成一道动态规划题目。 ... [详细]
  • DataList内容详解
    DataList是另一种显示数据控件,它与GridView不同的是,它全部使用模板进行设计,并且DataList的模板是对整行设置 ... [详细]
author-avatar
chucai
这个家伙很懒,什么也没留下,只留下了这个默认个签!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有