JS和CSS实现响应式

一、CSS实现响应式

CSS响应式的实现主要依赖于CSS媒体查询:

媒体查询包含一个可选的媒体类型和零或多个表达式来限制使用媒体特性的样式表范围,例如:width,height,color。CSS3中的Media queries让内容的呈现可以只针对特定范围的输出设备而不必去改变内容本身。即通过媒体查询判断屏幕宽度,加载不同的CSS样式表

代码如下:注意一定要有一个默认样式表不加媒体查询,否则在IE8中访问时会没有样式表。

<head>

  <meta charset="UTF-8">

  <title>响应式的演示</title>

  <link rel="stylesheet" type="text/css" href="css/reset.css" />

  <link rel="stylesheet" type="text/css" href="css/index1200.css" />

  <link rel="stylesheet" type="text/css" href="css/index980.css" media="screen and (min-width:980px) and (max-width:1200px)"/>

  <link rel="stylesheet" type="text/css" href="css/index640.css" media="screen and (min-width:640px) and (max-width:980px)"/>

  <link rel="stylesheet" type="text/css" href="css/index320.css" media="screen and (max-width:640px)"/>

</head>

二、JS实现响应式

JS响应式的实现也是依托于外联不同的CSS样式表,通过获取不同设备的屏幕宽度,选择性加载不同的CSS样式表。

<head>

  <meta charset="UTF-8">

  <title>响应式的演示</title>

  <link rel="stylesheet" type="text/css" href="css/reset.css" />

  <link rel="stylesheet" type="text/css" href="css/index1200.css" />

  <link rel="stylesheet" href="" id="rwdlink" />

  <script type="text/javascript">

    var rwdlink = document.getElementById("rwdlink");

    setCSS();

    window.onresize = setCSS;

    function setCSS(){

      var windowWidth = document.documentElement.clientWidth;

      if(windowWidth >= 1200){

        rwdlink.href = "";

      }else if(windowWidth >= 980){

        rwdlink.href = "css/index980.css";

      }else if(windowWidth >= 640){

        rwdlink.href = "css/index640.css";

      }else{

        rwdlink.href = "css/index320.css";

      }

    }

  </script>

</head>
时间: 2024-10-26 21:59:31

JS和CSS实现响应式的相关文章

CSS:响应式下的折叠菜单(条纹式)

原文:CSS: Responsive Navigation Menu 译文:CSS:响应式导航菜单 译者:dwqs 写在之前,关于如何制作响应式的下拉菜单:响应式下的下拉菜单 之前,我写了一篇关于怎么制作响应式的移动导航的教程.现在,我发现了一个新技巧,不用使用JavaScript就能实现响应式菜单,而是使用HTML 5清晰的语义标记. 这个菜单能居左.居中和居右对齐,不像之前文章提到的菜单需要靠点击在显示和隐藏之间进行切换.它也有一个标记显示激活/当前菜单项,并且它能作用在所有移动平台和包括I

CSS制作响应式正方形及其应用

CSS制作响应式正方形?什么鬼?干嘛用的?干嘛用的没人有每人的需求,本人也正好是因为公司正在做的业务需要,想做个照片展示的功能(当然得符合响应式了).而这个照片展示必须符合以下几点功能:1,用三张图片占满屏幕的一行:2,长宽比固定(暂时做成正方形):3,保证图片不扭曲. 业务什么的这里暂时不谈,回到正题:利用CSS制作响应式正方形.响应式正方形,大部分第一想法肯定是设置宽度百分比,然后利用JS动态设置高度.性能什么的这里就不谈了,反正我是觉得比较麻烦,正如本人一直坚持的原则:CSS能实现的功能,

Strip JS – 低侵入,响应式的 Lightbox 效果

Strip  是一个灯箱效果插件,显示的时候只会覆盖部分的页面,这使得侵扰程度较低,并留出了空间与页面上的大屏幕,同时给予小型移动设备上的经典灯箱体验.Strp JS 基于 jQuery 库实现,支持所有主流浏览器. 效果演示      立即下载 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTML5 &

使用 FocusPoint.js 实现图片的响应式裁剪

通常网站的布局都不是单一的.例如图像在电脑.平板和智能手机上可能显示的形状是不同的.特别是如果你使用的是全屏图像,在你必须使用相同的图像文件的情况下,你的主题可能会被截断或完全缺失,或者看起来很尴尬. FocusPoint 这款 jQuery 插件可以确保你的图像中的任何容器看起来都很棒,它提出了“响应裁剪”的概念,确保你的图片的重要组成部分被裁剪出来,动态图像裁剪以填充可用空间又不会裁剪掉图像的主题部分. 效果演示      源码下载 使用方法: 1. 计算图片的聚焦点 图像的聚焦点是由X(水

css的响应式布局和动画

把响应式布局和动画放在一起写是因为他们有个共同点@符号 先讲讲响应式布局@media 响应式布局==曾经==非常的流行,这种布局方式可以做出一也兼容一切设备的页面,但是当页面的功能越来越多,css文件越来越大,兼容难度越来越大,js也会很难写,于是他们离开了历史的舞台, 如今流行的还是手机端一份,pc端一份,pc用css适配实现,但是pc的屏幕大小也有很大的区别,于是响应式布局==从适配手机pc转移到了适配各种pc屏幕大小上==,这就是所有pc的css框架都会有的栅格系统 栅格系统原理 /* 超

CSS之响应式布局

响应式布局 外部link的max.css #left { width: 50%; height: 100px; background-color: #FF6600; float: left; } #right { width: 50%; height: 100px; background-color: #3565ff; float: left; } 外部link的min.css #left { width: 100%; height: 100px; background-color: #FF66

css图片响应式+垂直水平居中

转载请注明: TheViper http://www.cnblogs.com/TheViper  效果 要求: 1.尽可能兼容更多浏览器,这里兼容到ie7,ie6不支持max-*就不考虑了. 2.浏览器尺寸变化时,图片总是等比例拉伸或缩放. 3.包裹图片的div也是响应式的,并且每个div的尺寸是一样的. 4.图片始终保持水平垂直居中. 5.图片的行列数不变,这里一直都是3*3. 下面来搞定一个个要求. 满足要求1意味着这里要尽量不使用高级浏览器才有的属性,比如高级浏览器居中常用的什么 disp

Vue.js学习 Item12 – 内部响应式原理探究

深入响应式原理 大部分的基础内容我们已经讲到了,现在讲点底层内容.Vue.js 最显著的一个功能是响应系统 —— 模型只是普通对象,修改它则更新视图.这让状态管理非常简单且直观,不过理解它的原理也很重要,可以避免一些常见问题.下面我们开始深挖 Vue.js 响应系统的底层细节. 如何追踪变化 把一个普通对象传给 Vue 实例作为它的 data 选项,Vue.js 将遍历它的属性,用 Object.defineProperty 将它们转为 getter/setter.这是 ES5 特性,不能打补丁

【CSS】响应式图片

原图:(宽1680px,高1050px) 可是,我们平时做网站的时候当<img src="***">中的图片大于可视窗口(viewport)时,就会出现横的滚动条.图片被截断的情况,如下图所示: 这时候我们可以使用响应式技术来解决: 响应式图片就是当浏览器屏幕窗口大小改变时,图片会随着窗口大小的改变而改变,不会出现图片被截断或出现横滚动条. HTML代码: <body> <img src="1.jpg" alt=""