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

江门企业网站模板建站网站首页布局设计模板

江门企业网站模板建站,网站首页布局设计模板,云南昆明网站建设价格,网站 js 广告代码大白话css第五章CSS新特性与前沿技术、跨平台与跨设备适配 1. 掌握CSS新特性与前沿技术 容器查询(Container Queries) 解释:以前的媒体查询是根据整个浏览器窗口的大小来改变样式,而容器查询是根据某个元素的容器大小来调整样式…

大白话css第五章CSS新特性与前沿技术、跨平台与跨设备适配

1. 掌握CSS新特性与前沿技术

容器查询(Container Queries)
  • 解释:以前的媒体查询是根据整个浏览器窗口的大小来改变样式,而容器查询是根据某个元素的容器大小来调整样式。就好比你有一个盒子装着东西,这个盒子变大变小了,里面东西的样式就跟着变,不用管整个房间(浏览器窗口)有多大。
  • 示例
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>/* 定义一个容器,容器查询会基于这个容器的大小 */.card-container {container-type: inline-size;border: 1px solid #ccc;padding: 20px;margin: 20px;}.card {background-color: #f0f0f0;padding: 10px;}/* 当容器宽度至少为 400px 时,改变卡片样式 */@container (min-width: 400px) {.card {display: flex;align-items: center;}}</style>
</head><body><div class="card-container"><div class="card"><img src="example.jpg" alt="示例图片" width="100"><p>这是卡片里的文字内容。</p></div></div>
</body></html>

在这个例子里,当 .card-container 的宽度达到 400px 及以上时,.card 里的图片和文字会水平排列;宽度小于 400px 时,就还是默认的垂直排列。

CSS 嵌套(Nesting)
  • 解释:以前写 CSS 嵌套样式要写很长的选择器,现在 CSS 嵌套让你可以像写 HTML 嵌套结构那样写 CSS,代码更简洁,也更好理解。
  • 示例
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>nav {background-color: #333;/* 嵌套写法,直接在 nav 里写子元素样式 */a {color: white;text-decoration: none;padding: 10px;&:hover {background-color: #555;}}}</style>
</head><body><nav><a href="#">首页</a><a href="#">产品</a><a href="#">关于我们</a></nav>
</body></html>

这里在 nav 选择器里直接嵌套写了 a 标签的样式,& 代表父选择器 nav a,所以 &:hover 就是 nav a:hover 的意思。

2. 跨平台与跨设备适配

响应式与自适应结合
  • 解释:响应式布局是网页根据不同设备屏幕大小自动调整样式,自适应布局是针对不同设备预先做好几套固定的布局。把它们结合起来,能让网页在各种设备上都有最好的显示效果。
  • 示例
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>/* 通用样式 */.container {display: flex;flex-wrap: wrap;padding: 20px;}.item {width: 25%;padding: 10px;box-sizing: border-box;}/* 小屏幕设备(手机),自适应布局 */@media (max-width: 767px) {.container {display: block;}.item {width: 100%;}}/* 中等屏幕设备(平板),响应式微调 */@media (min-width: 768px) and (max-width: 991px) {.item {width: 50%;}}</style>
</head><body><div class="container"><div class="item">项目 1</div><div class="item">项目 2</div><div class="item">项目 3</div><div class="item">项目 4</div></div>
</body></html>

在这个例子中,大屏幕下项目是四列显示;平板设备时,变成两列显示;手机设备时,变成一列显示,既利用了响应式的灵活性,又针对小屏幕做了自适应调整。

不同操作系统与浏览器适配
  • 解释:不同操作系统(如 Windows、Mac、iOS、Android)和浏览器(如 Chrome、Firefox、Safari)对 CSS 的支持可能有点小差别,要做一些针对性的样式调整,保证网页在各种环境下都正常显示。
  • 示例
/* 针对 Safari 浏览器的样式调整 */
@supports (-webkit-touch-callout: none) {/* Safari 是 iOS 系统默认浏览器,这里可以写针对 Safari 的样式 */body {/* 比如调整字体渲染 */-webkit-font-smoothing: antialiased;}
}/* 针对 Firefox 浏览器的样式调整 */
@-moz-document url-prefix() {/* 这里写针对 Firefox 的样式 */input[type="text"] {/* 调整输入框样式 */border: 1px solid #bbb;}
}

3. 性能极致优化与维护

代码压缩与合并
  • 解释:把 CSS 文件里多余的空格、换行符去掉,还可以把多个 CSS 文件合并成一个,这样能减少浏览器请求文件的次数,加快网页加载速度。
  • 示例
    假设有两个 CSS 文件:
    style1.css
body {font-family: Arial, sans-serif;
}

style2.css

h1 {color: #333;
}

合并压缩后变成:

body{font-family:Arial,sans-serif}h1{color:#333}
减少重排与重绘
  • 解释:重排就是浏览器重新计算元素的位置和大小,重绘就是重新绘制元素的外观。频繁的重排和重绘会让网页变慢,所以要尽量减少。比如一次性修改元素的多个样式,而不是一个一个改。
  • 示例
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.box {width: 100px;height: 100px;background-color: red;}.new-style {width: 200px;height: 200px;background-color: blue;}</style>
</head><body><div class="box" id="myBox"></div><script>const box = document.getElementById('myBox');// 一次性添加新样式类,减少重排重绘box.classList.add('new-style');</script>
</body></html>

这里通过一次性添加 new-style 类,而不是分别修改 widthheightbackground-color,减少了重排和重绘的次数。

用代码示例介绍如何使用CSS变量?

咱先来说说啥是 CSS 变量。CSS 变量就像是给一个特定的样式值取了个名字,以后想用这个值的时候,直接喊这个名字就行,不用每次都重复写那个具体的值。这样一来,要是哪天你想改这个值,只需要在定义名字的地方改一次,所有用这个名字的地方都会跟着变,特别方便。

1. 定义 CSS 变量

咱们先看看怎么定义 CSS 变量。一般我们会把变量定义在 :root 里面,:root 就相当于整个网页的“老大”,在这儿定义的变量,整个网页都能用到。

:root {--main-color: #ff6600;  /* 定义一个叫 --main-color 的变量,值是橙色 */--font-size-big: 24px;  /* 定义一个叫 --font-size-big 的变量,值是 24 像素 */
}

在上面的代码里,--main-color--font-size-big 就是我们定义的变量。变量名前面必须有两个短横线 --,后面冒号跟着的就是变量的值。

2. 使用 CSS 变量

定义好变量后,怎么用呢?这就得用到 var() 这个东西啦。var() 就像是一个“传话员”,能把变量的值“传”到需要的地方。

body {color: var(--main-color);  /* 把 body 里面文字的颜色设置成 --main-color 变量的值,也就是橙色 */font-size: var(--font-size-big);  /* 把 body 里面文字的大小设置成 --font-size-big 变量的值,也就是 24 像素 */
}h1 {background-color: var(--main-color);  /* 把 h1 标题的背景颜色设置成 --main-color 变量的值,还是橙色 */
}

在这段代码里,var(--main-color) 就代表我们之前定义的橙色,var(--font-size-big) 就代表 24 像素。这样写是不是比每次都写具体的颜色代码和像素值方便多啦?

3. 完整的 HTML 和 CSS 示例

下面是一个完整的例子,把 HTML 和 CSS 结合起来,看看实际效果。

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>:root {--main-color: #ff6600;--font-size-big: 24px;}body {color: var(--main-color);font-size: var(--font-size-big);}h1 {background-color: var(--main-color);color: white;}</style>
</head><body><h1>这是一个标题</h1><p>这是一段正文内容。</p>
</body></html>

在这个例子里,网页的标题背景颜色和正文文字颜色都会是橙色,标题文字是白色,正文文字大小是 24 像素。要是你哪天想把橙色换成蓝色,只需要把 :root--main-color 的值改成蓝色的代码,比如 #0066ff,整个网页里用到 --main-color 的地方就都变成蓝色啦。

4. 变量的作用域

CSS 变量也有自己的“地盘”,也就是作用域。在 :root 里定义的变量,整个网页都能用,这是全局变量。但你也可以在某个具体的元素里定义变量,这样这个变量就只能在这个元素和它的“孩子”元素里用,这就是局部变量。

:root {--global-color: green;  /* 全局变量,整个网页都能用 */
}article {--local-color: purple;  /* 局部变量,只能在 article 元素和它里面的元素用 */
}body {color: var(--global-color);  /* 用全局变量,文字颜色是绿色 */
}article p {color: var(--local-color);  /* 用局部变量,article 里面的段落文字颜色是紫色 */
}

在这个例子里,--global-color 是全局变量,body 元素能用;--local-color 是在 article 里定义的局部变量,只有 article 里面的 p 元素能用。

5. 给变量设置默认值

有时候,变量可能没定义,这时候可以给 var() 传个默认值,万一变量不存在,就用这个默认值。

div {background-color: var(--maybe-not-defined, lightgray);  /* 如果 --maybe-not-defined 没定义,背景颜色就是浅灰色 */
}

在这个例子里,要是 --maybe-not-defined 这个变量没定义,div 的背景颜色就会是浅灰色。

通过这些例子,你应该对 CSS 变量的使用有个大概的了解啦,以后写 CSS 代码的时候,就可以试试用变量,让代码更简洁、更好维护。

响应式布局的由来与发展

响应式布局的由来

在互联网发展的早期,大家主要用电脑访问网页,而且电脑屏幕尺寸差异不大。所以那时候做网页布局很简单,就按照固定的宽度和高度来设计,所有内容都在这个固定的“框框”里显示得整整齐齐。

可后来科技发展太快啦,各种设备都冒出来了,像手机、平板,它们的屏幕大小和电脑完全不一样,有大有小,比例也各不相同。要是还沿用以前固定宽度的布局,在手机或者平板上看网页就会出大问题。比如内容显示不全,字小得像蚂蚁,得不停地缩放和滑动屏幕才能看清;或者布局全乱套了,该在左边的跑到右边,该在上面的跑到下面,用户体验差得没法说。

举个例子,一个在电脑上看着特别规整的电商网站,商品图片、价格、介绍都排列得很好。但在手机上打开,可能图片变形,文字挤成一团,根本没法好好浏览商品。为了让用户不管用啥设备都能舒服地看网页,响应式布局就被发明出来啦。它能让网页根据不同设备的屏幕大小、分辨率自动调整布局和样式,就像给网页装了个“智能脑袋”,能自己适应各种环境。

响应式布局的未来发展趋势

更智能的自适应

以后的响应式布局会更聪明,它不只是根据屏幕大小调整,还能根据设备的特性和用户的使用习惯来变。比如说,当你用智能手表打开网页,它能自动识别手表屏幕小、触摸操作的特点,把网页内容变得简洁又好操作,让你点几下就能找到想要的信息。

与新兴技术结合

和人工智能、虚拟现实这些新技术结合得更紧密。比如在虚拟现实环境里浏览网页,响应式布局能根据你的视角和动作,实时调整网页的显示,给你特别沉浸式的体验。要是你戴着 VR 眼镜看新闻网页,当你转头或者靠近屏幕,新闻内容的布局和显示方式会自动改变,就像真的在一个立体的新闻空间里一样。

无障碍访问优化

会更加注重无障碍访问设计,让有残疾的人也能轻松使用。比如对于视力不好的人,网页能自动调整文字大小、颜色对比度,还能提供语音朗读功能;对于行动不便只能用键盘操作的人,能优化焦点样式和操作流程,让他们也能流畅地浏览网页。

用代码实现响应式布局

1. 使用媒体查询

媒体查询就像是个“魔法开关”,能根据不同的屏幕尺寸应用不同的 CSS 样式。

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><!-- 让网页在移动设备上正确显示 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>/* 全局样式,所有设备都适用 */body {font-family: Arial, sans-serif;margin: 0;padding: 0;}/* 导航栏样式 */nav {background-color: #333;display: flex;justify-content: space-around;padding: 10px;}nav a {color: white;text-decoration: none;}/* 主体内容样式 */.content {padding: 20px;}/* 小屏幕设备(手机) */@media (max-width: 767px) {nav {/* 导航栏变成垂直排列 */flex-direction: column;align-items: center;}.content {font-size: 14px;}}/* 中等屏幕设备(平板) */@media (min-width: 768px) and (max-width: 991px) {nav {/* 导航栏居中排列 */justify-content: center;}.content {font-size: 16px;}}/* 大屏幕设备(电脑) */@media (min-width: 992px) {nav {/* 导航栏均匀分布 */justify-content: space-around;}.content {font-size: 18px;}}</style>
</head><body><nav><a href="#">首页</a><a href="#">产品</a><a href="#">关于我们</a></nav><div class="content"><p>这是网页的主体内容,会根据不同设备屏幕大小调整样式哦。</p></div>
</body></html>

在这个例子里,我们用 @media 定义了不同的屏幕尺寸范围,然后在每个范围里修改导航栏和内容的样式。比如在小屏幕(手机)上,导航栏从水平排列变成垂直排列,内容字体变小。

2. 使用弹性布局(Flexbox)

Flexbox 能让元素在容器里灵活排列和伸缩。

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>/* 容器样式 */.container {display: flex;/* 允许元素换行 */flex-wrap: wrap;justify-content: space-around;padding: 20px;}/* 子元素样式 */.item {width: 200px;background-color: #f0f0f0;padding: 20px;margin: 10px;}/* 小屏幕设备(手机) */@media (max-width: 767px) {.item {width: 100%;}}</style>
</head><body><div class="container"><div class="item">项目 1</div><div class="item">项目 2</div><div class="item">项目 3</div><div class="item">项目 4</div></div>
</body></html>

这里我们用 display: flex.container 变成弹性容器,里面的 .item 元素会自动排列。在小屏幕上,通过媒体查询让每个 .item 元素宽度变成 100%,实现垂直排列。

3. 使用网格布局(Grid)

Grid 可以创建二维的网格结构,让元素在网格里定位。

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>/* 网格容器样式 */.grid-container {display: grid;/* 初始三列布局 */grid-template-columns: repeat(3, 1fr);gap: 20px;padding: 20px;}/* 网格项样式 */.grid-item {background-color: #f0f0f0;padding: 20px;}/* 小屏幕设备(手机) */@media (max-width: 767px) {.grid-container {/* 变成一列布局 */grid-template-columns: 1fr;}}/* 中等屏幕设备(平板) */@media (min-width: 768px) and (max-width: 991px) {.grid-container {/* 变成两列布局 */grid-template-columns: repeat(2, 1fr);}}</style>
</head><body><div class="grid-container"><div class="grid-item">项目 1</div><div class="grid-item">项目 2</div><div class="grid-item">项目 3</div><div class="grid-item">项目 4</div><div class="grid-item">项目 5</div><div class="grid-item">项目 6</div></div>
</body></html>

在这个例子中,我们用 display: grid 创建了一个网格容器,通过 grid-template-columns 定义列的布局。然后根据不同屏幕尺寸,用媒体查询改变列的数量,实现响应式布局。

http://www.dtcms.com/wzjs/271539.html

相关文章:

  • 综合网站开发设计网购网站十大排名
  • 做网站要ftp信息吗网络营销的常用工具
  • wordpress上下页翻页seo评测论坛
  • 进下加强新闻宣传网站建设网站排名监控工具
  • 做网站销售怎么做seo图片优化
  • 网站宽度多少合适360优化大师官网
  • 天津做网站选择津坤科技c线上如何推广自己的产品
  • 靖江做网站哪家好百度搜索首页
  • 做网站南京网络营销软件推广
  • 网站加急备案百度网站登录入口
  • 深圳网站制作的公司排名站长之家排名查询
  • 下载网站开发深圳网站seo推广
  • 怎么在商务委的网站做变更民宿平台搜索量上涨
  • 山西建设厅网站2016年3号百度网站官网网址
  • 一个网站的后台怎么做怎么做好seo内容优化
  • 自己做网站语言构建服务器关键词优化收费标准
  • 专业做招聘的网站有哪些商品促销活动策划方案
  • 成都网站定制费用如何网络推广自己的产品
  • 我国网站建设现状微信公众号推广
  • 做网站需要apache深圳20网络推广
  • 网站建设 试卷win10优化大师是官方的吗
  • 成都鲜花网站建设2023重大新闻事件10条
  • 网站官方认证怎么做枣庄网络推广seo
  • 美女的脚奴网站建设互联网100个创业项目
  • 做百度网络营销推广西安seo培训
  • 网站主机 流量服装品牌策划方案
  • 深度网营销型网站建设公司怎么样关键词排名查询api
  • 做单页网站百度手机软件应用中心
  • html5企业网站模版镇江百度seo
  • 怎么做电子商务的网站西安网站建设制作公司