Web之CSS开发技巧: CSS @media

CSS @media 规则非常适合于将 HTML 或 XML 文档定位为目标输出方法。目前,print 媒体的使用非常普遍,与实现单独的 “可打印版本” 相比,print 提供了更加整洁的方式来创建打印机友好的页面。screen 媒体一直未得到充分利用,原因可能是因为人们通常都认为 screen 仅仅是 “默认的呈现方式”。然而,就布局而言(尤指绝对布局),screen 媒体类型具有重要的意义,样式表规则并不关心媒体类型,因此没有涵盖这一点。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Using CSS media types</title>
  @CSS
</head>
<body>
  <div class="top">
    @ITEMS
  </div>
  <div class="bottom">
    @SUMMARY
  </div>
</body>
</html>
div.bottom {
  background-color: lightblue;
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 20px;
}
div.top {
  background-color: white;
}
li.odd {
  background-color: #EAEAFF;
}
li.even {
  background-color: #FCFCFC;
}

当您希望向下滚动 <div class="top"> 中编号的行时,问题出现了, summary这个元素条不再显示在底部。

修改bug方法

div.bottom {
  background-color: lightblue;
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 20px;
}
div.top {
  background-color: white;
}
li.odd {
  background-color: #EAEAFF;
}
li.even {
  background-color: #FCFCFC;
}

fixed这个属性值,当然能实现summary这个div条用于悬停在底部,但是并不是每一个版本的浏览器都支持,

当然,我希望将各种媒体以适合其显示特征的方法显示出来,但同时仍然共享独立于媒体(某些)的可视属性。要同时实现正确地屏幕显示和打印显示,我所需做的就是使用 @media 规则创建一个稍微复杂一点的样式表:

使用两种 @media 规则的 CSS:()
@media screen  和  @media print
li.odd {
    background-color: #EAEAFF;
}
li.even {
    background-color: #FCFCFC;
}
@media screen {
  div.bottom {
    background-color: lightblue;
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 20px;
  }
  div.top {
    background-color: white;
  }
}
@media print {
  div.bottom {
    position: absolute;
    top: 0px;
  }
  div.top {
    position: relative;
    top: 20pt;
  }
}

可以看到,奇偶行的颜色保持不变,但是 top 和 bottom<div> 元素的特定位置针对媒体的不同做了调整。

Web之CSS开发技巧: CSS @media

时间: 2024-10-08 19:06:50

Web之CSS开发技巧: CSS @media的相关文章

Web之CSS开发技巧: CSS 居中大全

<center> text-align:center 在父容器里水平居中 inline 文字,或 inline 元素 vertical-align:middle 垂直居中 inline 文字,inline 元素,配合 display:table ,display:table-cell,有奇效. line-height 与 height 联手,垂直居中文字 margin:auto 示例: <style> #ex2_container { width:200px; background

提高你css技能的css开发技巧

好久没整理博客了 进来啰嗦两句   继续抄别人的博客 一.resize实现图片对比 resize的语法如下: resize:none | both | horizontal | vertical 案例效果如下图 **(鼠标移到左下角白色区域,往右侧拖动,实现图片对比效果)**: 我应用到了resize的如下代码: resize: horizontal; 可以水平拉伸! 二.:not()的应用技巧 我们平时在书写导航栏分割线的时候,最后一个标签是没有分割线的,我们一般的写法如下: /* 先给所有添

web移动端开发技巧与注意事项汇总

一.meta的使用 1.<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> 强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览 2.winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉

web移动端开发技巧与bc平台搭建注意事项

一.meta的使用bc平台搭建[企鹅21717-93408]1.<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览.2.winphone系统a.input标

学好Web前端开发,必要了解的HTML+CSS的技巧有哪些

HTML+CSS的技巧有哪些?怎么学好Web前端开发?经过Web前端学习的一个过程,每个人都会对前端的认识逐渐由浅入深,由一开始僵硬地使用标签和标签属性进行简单网页布局,到最后能够对网页进行丰富的CSS渲染,逐渐不断成长起来.接下来给大家分享一下阶段学习技巧. 1.合理清晰的HTML文档结构有着重要的意义. 首先,这有利于自己写CSS时选择标签;其次,这方便别人阅读自己的代码;最后,合理的使用语义化标签,也能让方便各大搜索引擎的收录. 2.对标签添加浮动对网页横排有着非常重要的意义. 一开始接触

如何能提高CSS编写技巧 提高Web前端开发效率

如何能提高CSS编写技巧?怎么学好Web前端开发?很多人在学习Web前端时,刚开始都会学习HTML和CSS,HTML用于文本内容,CSS用于样式设计,掌握这两部分知识就可以进行简单的页面制作.不过如果耗时过长作品一般未免有些得不偿失,因此你需要掌握一些技巧,以提高CSS编写效率. 1.使用flex进行布局 flex弹性布局的出现是有原因的.浮动和inline-block虽然也能实现很多的布局效果,但它们本质上是文本和块元素布局的工具,而不是面向整个网页的.flex可以很容易的按照我们预期的方式创

提高您CSS开发能力的技巧集

0. 目录 目录 引言 正文 1 使用not给导航条添加间隔线 2 给body元素增加Line-Height属性 3 任意元素垂直居中 4 逗号分隔的列表 5 在nth-child中使用负数 6 使用svg图标 7 文本显示优化 8 在Pure CSS Sliders中使用max-height 9 初始化box-sizing 10 表格单元格等宽 11 使用Flexbox摆脱各种Margin Hacks 12 给空连接使用属性选择符 声明 1. 引言 原文:github的A collection

CSS 代码技巧与维护 ★ Mozilla Hacks – the Web developer blog

原文链接:https://hacks.mozilla.org/2016/05/css-coding-techniques/ 译文链接 :http://www.zcfy.cc/article/css-coding-techniques-x2605-mozilla-hacks-8211-the-web-developer-blog-1244.html 最近,我发现许多人被CSS难倒,无论是新手还是有经验的开发者.自然地,他们就希望能有一种更好的语言来代替它,CSS预处理器就是从这种想法中诞生的.一些

Java Web开发——HTML CSS JavaScript 杂记

HTML是一种在互联网上常见的网页制作标注性语言,并不能算作一种程序设计语言.因为它相对程序设计语言来说缺少了其应所有的特征.对于网站设计人员来说,只使用HTML是不够的,需要在页面中引入CSS样式.HTML与CSS的关系是"内容"与"形势"的关系,由HTML来确定网页的内容,CSS来实现页面的表现形式. CSS规则在CSS样式表中包括3部分内容:选择符.属性和属性值.选择符{属性:属性值}选择符:又称选择器,是CSS中很重要的该鸟,所有HTML语言中的标记都是通过