当前位置: 首页 > article >正文

HTML与CSS常见问题总结

HTML

1.结构分类

HTML结构层————html标签

CSS样式层————html标签的修饰

js行为交互层————动态的交互效果

2.规则

做到结构样式行为的分离

3.HTML与HTML5

HTML————超文本标记语言

HTML5————超文本标记语言的第五个版本

4.元素按显示类型分类

行内元素:默认横向显示,不能设置宽度和高度

eg: a, b, strong, i, em, s, del, span, u, sup, sub, font

块级元素:默认纵向排列,默认占宽一整行, 并且能设置宽度高度

eg: div, p ,h1~h6, ul, ol, li, dl, dt, dd ,table, form, hr, fieldset, legend

行内块元素:既有行内元素的特点,又有块级元素的特点

eg: input, img, textarea, select

CSS
1.使用位置:

行内样式,内部样式,外部样式<link rel="stylesheet" href="CSS路径">

扩充另一个样式表

<style> @import url(CSS文件路径); </style>

两个样式表的对比:

a.本质不同:link是html语法,@import是css语法

b.兼容的不同:link能兼容所有浏览器,@import兼容性不是特别好

c.代码的加载顺序:link加载是同时加载,@import加载页面时是先加载结构后加载样式,有抖动的情况

d.操作dom不同,目前操作dom的时候,大部分是通过link操作js的样式的,@import不能操作样式

2.样式优先级

!important > 行内样式 > 内部样式 > 外部样式

3.选择器

id:#unique { }

类:.box { }

标签:a[title] { }

通配符:* { }

后代:article p

子代:article > p

伪类:a:hover { }

4.选择器的优先级

id > 类 > 标签 > 通配符

100 > 10 > 1 > 0

!important > 行内样式 > id > 类选择器 > 标签 > 通配符选择器

5.隐藏文本

如何实现在不隐藏元素的情况下隐藏元素中的文本?

text-indent: -9999px

font-size: 0px

6.属性取负值

text-indent, z-index, margin, transform:scal(数值),

定位的偏移属性的取值:top, bottom, right, left

order:(提高排列顺序)(移动端内)

7.浮动的取值

float: left/right/none

作用:用来让盒子横向显示,应用于布局上面

影响:后面元素会上去补位置,必然产生高度塌陷

如何不让元素上去补位置

8.清除浮动

clear: none/both/left/right

9.解决高度塌陷

1)可以给父元素添加高度

2)可以直接使用清除浮动解决补位问题

3)父元素里面只有一个子元素时,子元素浮动,产生高度塌陷

a.在浮动元素后面添加一个块级元素,给这个块级元素进行清除浮动

b.给父元素添加overflow: hidden;触发BFC会让浮动元素继续参与高度的计算

具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。

c.万能清除法

.wnac : after {

content: "文本";

display: block;

clear: both;

height: 0px;

font-size: 0px;

overflow: hidden;

visibility: hidden;

}

10.盒子模型

1)盒子模型总共分为两类:标准盒子模型(W3C官方盒子模型),IE怪异盒子模型

2)组成部分:内容(content), 内边距(padding), 边框(border), 外边距(margin)

3)如何区分

若box-sizing: content-box, 标准盒子模型

若box-sizing: border-box, IE怪异盒子模型

4)计算方法

标准盒子:

实际宽度:CSS.width+左右的padding+左右的border+左右的margin

实际高度:CSS.height+上下的padding+上下的border+上下的margin

IE怪异盒子模型:

实际宽度:CSS.width+左右的margin

实际高度:CSS.height+上下的margin

怪异盒子里面的css的width里面已经包含了对应内容区域,内边框区域,边框区域

11.定位的取值

position: static/relative/absolute/fixed/sticky

参照物的问题:

静态定位没有参照物

相对定位的参照物是自己原来的位置

绝对定位的参照物:

a.如果所有外层的父级元素中都没有任何定位的话,则相对于浏览器左上角的位置(body)

b.如果父级元素中有定位的话,则相对于比较近的父元素进行位置的微调

固定定位的参照物:浏览器窗口的左上角(视口的左上角),不会受到滚动条的影响

粘性定位:视口的左上角

12.父相子绝

父元素使用相对定位,子元素使用绝对定位,改变子元素的参照物

13.浮动和定位的区别

1)不同点

a.概念不同

浮动主要是用来做布局,横向显示元素的

定位用来调整元素位置的

b.脱离文档流不同

浮动:半脱离文档流,如果后面补位元素中有文本的话,会产生文本环绕的效果

定位:全脱离文档流,如果后面补位元素中有文本的话,不产生文本环绕的效果

2)相同点

a.都能让后面的元素上去补位置===会产生高度塌陷

b.如果补位元素中没有文本的话,实现的效果是一样的

c.都能让行内元素变成块级元素

d.都能触发BFC

e.都能解决margin-top作用在父元素上面的问题

f.都能让margin: 0 auto失效

g.如果是一个自适应宽度的盒子,添加浮动或者定位的时候,盒子仍然是自适应,是被文本撑开的

14.溢出效果显示

div {

width: 500px;

white-sapce: nowrap //文本不折行显示

overflow: hidden;

text-overflow: ellipsis

}

15.如何制作一个三角形

div {

display: inline-block;

width: 0px;

height: 0px;

border-top: 10px solid red

border-right: 10px solid transplate

border-bottom: 10px solid transplate

border-left: 10px solid transplate

}

16.如何隐藏元素

1)display: none 不占空间

2)visibility: hidden 占页面空间

3)height: 0px; weight: 0px; 不占页面空间

注意:如果该盒子里有文本,还需添加:font-size: 0px; / overflow: hidden; / visibility:hidden;

4)opacity: 0 占页面空间

5)transform: scale(0) 占页面空间

17.如何让一个元素边透明

1)透明颜色 transparent

2)颜色透明 rgba(red, green, blue, 0) alpha的取值为0~1

3)opacity: 0 还能透明元素里面的所有文本/图片/边框

4)如何解决ie低版本浏览器的透明兼容

filter: alpha(opacity=0~100) 0透明 100不透明

注意: 父子元素中,如果给父元素添加透明的时候,使用opacity的话,会直接影响到子元素,如何只给父元素添加透明,不影响子元素?

换属性成rgba

18.兼容问题

低版本浏览器中,图片添加一个超链接的话,会显示1px的边框如何解决 img {border: none/0}

二者都能取消边框,但是实际意义不一样

0代表的是有数值的,有边框,边框的粗细为0

none代表的是没有边框,不设置边框

从加载渲染角度考虑: 0会被加载渲染, none不会

19.内核

产生兼容性问题的原因:由于浏览器的内核不一样造成的

1)Trident内核:IE,遨游,腾讯,世界之窗和360浏览器

2)Grcko内核:火狐

3)webkit内核:Safari, chrome

4)Presto内核:Opera

5)Blink内核:是webkit的分支,由谷歌公司和Opera software开发的浏览器排版引擎

20.属性不兼容

有一些属性在使用的时候,不兼容怎么处理呢?

浏览器属性的前缀问题:

-webkit- : 谷歌和Safari

-moz- : 支持火狐浏览器里面的属性

-ms- : IE浏览器

-o- : Opera浏览器

21.图片下面3px的留白问题

1)使用vertical-align属性调整图片的行内块元素的垂直对齐方式

2)display: block;

3)给图片添加浮动,变成块级元素,在图片外层添加div盒子,给盒子添加overflow: hidden

22.图片整合技术-精灵图技术

background-position

优点:

1)通过图片整合技术,减少对服务器的请求次数,从而提高页面的加载速度

2)通过图片整合减少图片的体积,降低节约带宽

23.实现元素的水平居中显示

1)屏幕中

div {

width: ;

height: ;

position: absolute/fixed;

top: 50%;

left: 50%;

margin-top: -高度的一半;

margin-left: -宽度的一半;

}

二者区别在于:本质上,absolute是相对于左上角body位置,fixed是相对于浏览器视口左上角位置,如果没有滚动条的话,实现效果没有多大差别,有滚动条的情况下,absolute会被滚上去,fixed不会被滚上去。

2)父元素中

父元素 {

position: relative;

}

子元素 {

width: ;

height: ;

position: absolute;

top: 50%;

left: 50%;

margin-top: -高度的一半;

margin-left: -宽度的一半;

}

23.如何让一个元素变成块级元素

1)display: block;

2)使用浮动取值不为none

3)添加定位:absolute/fixed

4)父元素中,给父元素触发弹性盒子或者让父元素触发网格布局

24.继承性问题

文本的大部分属性都具有继承性:字体大小,字体颜色,加粗,倾斜,行高,字体等等

列表属性:list-style-image/type/position list-style

宽度使用百分比时,会继承父元素的宽度


http://www.kler.cn/a/540033.html

相关文章:

  • rdian是一个结构体,pdian=^Rdian,list泛型做什么用?
  • DeepSeek从入门到精通教程PDF清华大学出版
  • Docker从入门到精通- 容器化技术全解析
  • C++ 继承(1)
  • 青少年编程与数学 02-009 Django 5 Web 编程 03课题、项目结构
  • 实验5 配置OSPFv2验证
  • MAC国内安装Homebrew的方法
  • 【LeetCode 刷题】动态规划(2)-背包问题
  • 【自开发工具】SQLSERVER的ImpDp和ExpDp工具汇总
  • DeepSeek时代:百度们亟需“深度求索”
  • 信息科技伦理与道德3-3:智能决策
  • SickOs 1.2靶机(超详细教学)
  • UnoCSS 自定义规则
  • 【机器学习】数据预处理之scikit-learn的Scaler与自定义Scaler类进行数据归一化
  • ProcessingP5js数据可视化
  • Chapter2:C#基本数据类型
  • Spring Boot 中的监视器是什么
  • Elasticsearch去分析目标服务器的日志,需要在目标服务器上面安装Elasticsearch 软件吗
  • Groovy语言的物联网
  • 项目部署问题
  • 【C/C++】每日温度 [ 栈的应用 ] 蓝桥杯/ACM备赛
  • SQL自学,mysql从入门到精通 --- 第 1 天,系统环境搭建,mysql部署
  • 小结:VLAN、STP、DHCP、ACL、NAT、PPP、边界路由等配置指令
  • 数据结构 day01
  • 老榕树的Java专题:Redis 从入门到实践
  • 代码笔记:ln创建链接