HTML5+CSS-3

简介: 标签选择器(TAG选择器)div{}适用的场景:去掉某些标签的默认样式时

10、CSS样式继承

文字相关的样式可以继承

布局相关的样式不能继承(如border,height等)

但是可以使用border:inherit来手动继承父样式

11、CSS优先级

相同样式优先级

当设置相同样式时,后面的优先级较高,但不建议出现重复设置样式的情况

内部样式和外部样式

内部样式和外部样式优先级相同,如果都设置了相同样式,那么后写入的引入方式优先级高

单一样式优先级

style行间>id>class>tag>*>继承

style行间>id>class>tag>*>继承

权重1000、100、10、1(代表的是等级,即使100个1也小于10)

<div id="elem" style="color:blue"句中的style称为style行间

!important

提升样式优先级,非规范方式,不建议使用

#elem{color:red !important}

不能针对继承的属性进行优先级的提升

标签+类与单类

标签+类的优先级大于单类

群组优先级

群组选择器与单一选择器优先级相同,靠后写的优先级高

层次优先级

权重比较

ul li .box p input{} 1+1+10+1+1


.hello span #elem 10+1+100


约分比较

ul li .box p input{} -->li p input{}


.hello span #elem -->#elem{}


尽量写三层以内的层次

12、CSS盒子模型

组成

content–>padding–>border–>margin


物品 填充物 包装盒 盒子间的间距


content:内容区域 width和height组成的


padding:内边距(内填充)


只写一个值:上下左右

写两个值:上下、左右

写四个值:上、右、下、左

单一样式只能写一个值:padding-left/right/top/bottom


margin:外填充(两个盒子之间的间距)


背景颜色会填充到margin以内的区域(content,padding,border),不包括margin


文字会在content区域


padding不能为负值,而margin可以为负数(两个盒子相交)

96885a659fa9e65a09bc86613508789d.png

box-sizing

box-sizing为盒子的尺寸,可以改变盒子模型的展示形态


默认值:content-box:width、height作用于content


border-box:width、height作用于content,padding和border


使用场景:


不用再去计算一些值(例如给定可以分配的范围,如果使用content-box需要计算多少的width加上padding后不会超过)

解决一些百分比的问题(如果设置一个占百分之百的盒子,后又加上边框和填充则会超过范围,出现滚动条,若设置为border-box则刚好

盒子模型的一些问题

margin叠加问题

上下margin同时存在的时候,会取上下值中较大的作为边距(左右则不会有该问题)

解决方案:

  • BFC规范
  • 想办法只给一个元素添加间距

margin传递问题

margin传递的问题只会出现在嵌套的结构中,且只有margin-top会有传递的问题,其他三个方向是没有传递问题的

解决方案:

  • BFC规范
  • 给父容器加边框
  • margin换成padding
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
      #box1{
        width: 200px;
        height: 200px;
        background-color: red;
      }
      #box2{
        width: 100px;
        height: 100px;
        background-color: blue;
                margin-top: 100px;
      }
    </style>
  </head>
  <body>
    <div id="box1">
      <div id="box2">
      </div>
    </div>
  </body>
</html>

ebeb94989ae30ba962904f32319f6e73.png

margin-top: 100px;改为margin-left: 100px

ed96449171e9703c78c754d6cb2564be.png

拓展

margin的居中

(margin可以左右自适应,不能上下自适应)


margin-left:auto——左边全都是空白,盒子右靠齐


margin-right:auto——右边全都是空白,盒子左靠齐


margin:0 auto——居中


width和height不设置的时候对盒子模型的影响

如果宽度设置为百分之百,添加边框后会超过父级盒子的大小


如果不设置,则宽度永远保持与父级一致


设置为100%,padding-left:50px:

13、标签分类

按类型

block(块):div、p、ul、li、h1…


1、独占一行


2、支持所有样式


3、不写宽的时候跟父容器的宽相同


4、所占区域是一个矩形


inline(内联):span、a、em、strong、img(因为img也是替换元素所以可以设置宽高),


1、挨在一起的


2、有些样式不支持,比如width,height、margin(左右支持,上下不支持)、padding(左右支持、上下不支持)


3、不写宽时,宽度由内容决定


4、所占的区域不一定时矩形


5、内敛标签之间会有空隙,原因是换行产生的(可以通过在body把font-size全换成0然后在需要输入文本的地方重新设置字体大小,这样间隙中的空格大小则为0)


inline-block:input、select…


1、挨在一起,但是支持宽高


2、所占区域是一个矩形


3、标签之间会有空隙


布局一般用块标签,修饰文本一般用内联标签

按内容

  • Flow:流内容
  • Metadata:元数据
  • Sectioninng:分区
  • Heading:标题
  • Phrasing:措辞
  • Embedded:嵌入的
  • Interactive:互动的

按显示

替换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容(没有属性的话本身没有显示内容)

img、iput

非替换元素:将内容直接告诉浏览器,将其显示出来

div、h1、p

14、显示框类型

display

  • block
  • inline
  • block-inline
  • none:不进行显示

可以将原本属于block的div标签更改为inline,

注:display:none——不占空间的隐藏

visibility:hidden——占空间的隐藏

15、标签嵌套规范

块标签可以嵌套内联标签

块标签不一定能嵌套块标签(比如p不能嵌套div)

内联标签不呢个嵌套块标签(a标签除外,a可以嵌套块)

  • ul、li
  • dl、dt、dd
  • table、tr、td

16、overflow溢出隐藏

overflow

  1. visible:默认显示
  2. hidden:裁剪隐藏
  3. scroll:下方和右方都出现滚动条,不管是否溢出
  4. auto:只有溢出方向出现滚动条。
  5. x轴、y轴:overflow-x、overflow-y可对下方和右方分别设置

默认:

2693a319f53c55ba2958a0746b7e2de8.png


hidden:

a9accea1216ed04704adfc983b2b7f76.png

17、透明度与手势

opacity:0(透明)-1(不透明)0.5为半透明

占空间,且所有的子内容也会透明!

rgba:前三个值设置背景颜色,最后一个值设置透明度(0-1)

可以让指定的样式透明,而不影响其他样式(其中的文字不会被透明)

cursor:手势

auto:自动变化(默认的手势)

default:普通箭头

要实现自定义手势:

  • 准备图片:.cur、ico
  • cursor:url(./img/cursor/ico),auto

18、最大、最小宽高

min-width:宽度大于等于…(内容大于值时则自动增大宽)

max-width:宽度小于等于…(内容小于值时则自动减小宽)

min-height:高度大于等于…

max-height:高度小于等于…

%单位:换算–>以父容器的大小进行换算,跟祖先无关


一个容器怎么适应屏幕的高:


html,body{height:100%}


.container{height:100%}

19、CSS默认样式

有些标签有默认样式,有些标签没有默认样式

没有默认样式:div、span…

有默认样式:body、h1…h6、p、ul…

body–> margin:8px

h1–> margin(上下):21.44px,font-weight:bold

p–> margin(上下):16px

ul–> margin(上下):16px padding(左):40px

list-style:disc

a–> text-decoration:underline

20、CSS reset

简单的CSSreset:*{margin:0;padding:0}


优点:不用考虑哪些标签有默认的margin和padding


缺点:稍微影响性能(会对没有默认值的标签如div再次设置)


ul{list-style:none;}


a{text-decoration:none;color:#666}


a:hover{text-decoration:underline;color:red}


img{display:block}


解决的现象:图片跟容器底部有一些空隙


出现该现象的原因:内联元素的对齐方式是按照文字基线对齐的,而不是文字底线对齐的


第二种解决方法:


vertical-align:baseline;基线对齐


vertical-align:bottom;底线对齐


写具体页面或一个布局效果的时候:


写结构

css重置样式

写具体样式


相关文章
|
1月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
43 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
2月前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
70 34
|
2月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
62 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
2月前
|
前端开发
“弘五四,耀青春”程序创意获奖作品【html+css】
本作品以“青春筑梦,共创未来”为主题,采用动态龙元素展现青春活力与创新精神。页面设计简洁明快,色彩协调,突显年轻人积极向上的风貌。作品内容包括获奖截图、名字《时代扬新帆》及源代码分享。特别说明:禁止用于商业活动,可用于比赛和作业等开源场景。最后,作者表达了对五四精神的致敬与传承,强调了青春活力和创造力的重要性,并感谢评委和支持者。 **获奖感言摘录:** “获得这个奖项,对我们团队来说,既是认可也是激励。我们将继续努力,不断优化产品,为用户带来更好的体验,为社会贡献更多价值。”
39 2
|
2月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
149 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
2月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
101 33
|
3月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
123 24
|
4月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
101 5
|
4月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
147 7
|
4月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
74 6

热门文章

最新文章