詳解CSS3媒體查詢響應(yīng)式布局bootstrap 框架原理實戰(zhàn)(推薦)
媒體設(shè)備類型使用詳解:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<!-- 屏幕設(shè)備 -->
<style media="screen">
h1{
color:red;
}
</style>
<!-- 打印機設(shè)備 -->
<style media="print">
h1{
color:green;
}
</style>
<!-- 屏幕設(shè)備和打印機設(shè)備 -->
<style media="screen,print">
h1{
font-weight:normal;
}
</style>
</head>
<body>
<h1>cyy</h1>
</body>
</html>
使用link標簽設(shè)置媒體類型:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<!-- 默認media為all,所有設(shè)備 -->
<link rel="stylesheet" href="css/commob.css" media="all">
<link rel="stylesheet" href="css/screen.css" media="screen">
<link rel="stylesheet" href="css/print.css" media="print">
</head>
<body>
<h1>cyy</h1>
</body>
</html>
使用@import簡化頁面多文件引用:
這是推薦的做法:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>cyy</h1>
</body>
</html>
style.css
@import url(common.css); @import url(screen.css) screen; @import url(print.css) print;
樣式表中使用@media局部定義響應(yīng)查詢:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="navbar">
<a href="">cyy</a>
<ul>
<li>cyy1</li>
<li>cyy2</li>
<li>cyy3</li>
</ul>
</div>
</body>
</html>
相關(guān)less
.navbar{
height:60px;
width:900px;
display:flex;
align-items:center;
background:#f3f3f3;
margin:0 auto;
ul{
list-style:none;
display:flex;
}
}
@media screen and (max-width:600px){
.navbar{
ul{
display:none;
}
}
}
and條件判斷響應(yīng)式應(yīng)用:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<style media="screen and (min-width:768px) and (max-width:1000px)">
h1{
color:red;
}
</style>
<style media="screen and (max-width:768px)">
h1{
color:blue;
}
</style>
</head>
<body>
<h1>CYY</h1>
</body>
</html>
邏輯或使用技巧操作:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<!-- 當設(shè)備為橫屏展示,或者設(shè)備寬度大于768px不論橫豎屏?xí)r -->
<style media="screen and (orientation:landscape),screen and (min-width:768px)">
h1{
color:red;
}
</style>
</head>
<body>
<h1>CYY</h1>
</body>
</html>
not關(guān)鍵詞使用注意要點:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<style>
/* 如果滿足條件,則不應(yīng)用該樣式 */
@media not screen and (min-width:500px) and (max-width:768px){
h1{
color:red;
}
}
</style>
</head>
<body>
<h1>CYY</h1>
</body>
</html>
使用only排除低端瀏覽器:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<style>
/* 加上only之后,低端瀏覽器會忽略該句語法 */
@media only screen and (min-width:500px){
h1{
color:red;
}
}
</style>
</head>
<body>
<h1>CYY</h1>
</body>
</html>
實戰(zhàn)案例操作之文件結(jié)構(gòu):
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js"></script>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<header class="mb-2">
<div class="container">
<div class="navbar">
<a href="" class="logo">CYY</a>
<label for="toggle-nav"><i class="fa fa-tasks" aria-hidden="true"></i></label>
<input type="checkbox" name="" id="toggle-nav">
<div class="collapse">
<ul class="links">
<li><a href="">系統(tǒng)學(xué)習(xí)</a></li>
<li><a href="">實戰(zhàn)課程</a></li>
<li><a href="">話題討論</a></li>
<li><a href="">簽到打卡</a></li>
</ul>
<div class="form">
<a href="">登錄</a>
<a href="" class="form-bg">注冊</a>
</div>
</div>
</div>
</div>
</header>
<div class="container">
<div class="row">
<div class="col-6 col-lg-9 col-xs-12">
<div class="card">
<div class="card-header">
<h2>最新更新</h2>
</div>
<div class="card-body">
<ul class="list-group">
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
<li>
<a href="">cyy開始學(xué)習(xí)響應(yīng)式布局</a>
<span>2020-11-13</span>
</li>
</ul>
</div>
<div class="card-footer">
<div class="page">
<a href=""><</a>
<a href="">1</a>
<a href="">2</a>
<a href="" class="current">3</a>
<a href="">4</a>
<a href="">5</a>
<a href="">></a>
</div>
</div>
</div>
</div>
<div class="col-6 col-lg-3 col-xs-12">
<div class="card">
<div class="card-header">
<h3>社區(qū)小帖</h3>
</div>
<div class="card-body"></div>
<div class="card-footer"></div>
</div>
</div>
</div>
</div>
</body>
</html>
引入統(tǒng)一控制的style.css
@import url(common.css); @import url(navbar.css); @import url(card.css); @import url(title.css); @import url(page.css); @import url(margin.css); @import url(list-group.css); @import url(small-x.css) only screen and (max-width:768px); @import url(small.css) only screen and (min-width:768px); @import url(medium.css) only screen and (min-width:960px); @import url(big.css) only screen and (min-width:1200px);
導(dǎo)航組件navbar.less
header{
border-bottom:5px solid #009688;
box-shadow:0 5px 5px rgba(0,0,0,.2);
.navbar{
display:flex;
padding:1rem 0;
align-items:center;
.logo{
color:#009688;
margin-right:20px;
font-weight:bold;
font-size:1.3rem;
&+label{
display:none;
&+input{
display:none;
}
}
}
.collapse{
display:flex;
flex-grow:1;
.links{
display:flex;
// 占滿剩余空間
margin-right:auto;
li{
margin:0 10px;
a{
color:#777;
&:hover{
color:#333;
font-weight:bold;
}
}
}
}
.form{
a{
border:1px solid #009688;
color:#009688;
padding:.3rem 1rem;
border-radius:.3rem;
&.form-bg{
background:#009688;
color:white;
}
}
}
}
}
}
@media screen and (max-width:960px){
header{
.navbar{
// flex-flow 屬性是 flex-direction 和 flex-wrap 屬性的復(fù)合屬性。
flex-flow:row wrap;
.logo{
margin-right:auto;
&+label{
display:block;
border:1px solid #ddd;
padding:.5rem 1rem;
color:#555;
cursor:pointer;
&+input{
display:none;
}
&+input:checked{
&+.collapse{
display:block;
}
}
}
}
.collapse{
display:none;
flex-flow:column;
width:100%;
.links{
flex-direction:column;
margin-bottom:1.5rem;
li{
margin:.5rem 0;
}
}
}
}
}
}
卡片組件card.less
.card{
border:1px solid #ddd;
box-shadow:0 0 5px rgba(0,0,0,.1);
border-radius:.2rem;
.card-header{
padding:.5rem 1rem;
border-bottom:1px solid #ddd;
}
.card-body{
padding:1rem;
}
.card-footer{
padding:.5rem 1rem;
border-top:1px solid #ddd;
}
}
文本組件title.less
h2 {
font-size: 1rem;
}
h3 {
font-size: 0.8rem;
}
h2,
h3,
h4 {
color: #555;
}
分頁組件page.less
.page{
display:flex;
a{
display:block;
padding:.3rem .8rem;
border:1px solid #ddd;
// 讓重疊的兩個邊框線疊加在一起
margin-left:-1px;
color:#555;
&:first-child{
border-top-left-radius:.3rem;
border-bottom-left-radius:.3rem;
}
&:last-child{
border-top-right-radius:.3rem;
border-bottom-right-radius:.3rem;
}
&.current{
background:#009688;
color:white;
border:1px solid #009688;
}
}
}
邊距組件margin.less
.mb-1 {
margin-bottom: 1rem;
}
.mb-2 {
margin-bottom: 2rem;
}
.mb-3 {
margin-bottom: 3rem;
}
列表組件list-group.less
.list-group{
li{
display:flex;
justify-content:space-between;
padding:.8rem 0;
border-bottom:1px solid #ddd;
font-size:.9rem;
&:last-child{
border-bottom:none;
}
a{
color:#777;
}
span{
color:#888;
font-size:.6rem;
}
}
}
超小屏適配 small-x.less
body {
background: white;
}
.container {
width: 95%;
margin: 0 auto;
}
.col-xs-12 {
grid-column: span 12;
}
.col-xs-11 {
grid-column: span 11;
}
.col-xs-10 {
grid-column: span 10;
}
.col-xs-9 {
grid-column: span 9;
}
.col-xs-8 {
grid-column: span 8;
}
.col-xs-7 {
grid-column: span 7;
}
.col-xs-6 {
grid-column: span 6;
}
.col-xs-5 {
grid-column: span 5;
}
.col-xs-4 {
grid-column: span 4;
}
.col-xs-3 {
grid-column: span 3;
}
.col-xs-2 {
grid-column: span 2;
}
.col-xs-1 {
grid-column: span 1;
}
小屏適配small.less
body{
background:white;
}
.container{
width:750px;
margin:0 auto;
}
.col-sm-12{
grid-column:span 12;
}
.col-sm-11{
grid-column:span 11;
}
.col-sm-10{
grid-column:span 10;
}
.col-sm-9{
grid-column:span 9;
}
.col-sm-8{
grid-column:span 8;
}
.col-sm-7{
grid-column:span 7;
}
.col-sm-6{
grid-column:span 6;
}
.col-sm-5{
grid-column:span 5;
}
.col-sm-4{
grid-column:span 4;
}
.col-sm-3{
grid-column:span 3;
}
.col-sm-2{
grid-column:span 2;
}
.col-sm-1{
grid-column:span 1;
}
中屏適配medium.less
body{
background:white;
}
.container{
width:950px;
margin:0 auto;
}
.col-md-12{
grid-column:span 12;
}
.col-md-11{
grid-column:span 11;
}
.col-md-10{
grid-column:span 10;
}
.col-md-9{
grid-column:span 9;
}
.col-md-8{
grid-column:span 8;
}
.col-md-7{
grid-column:span 7;
}
.col-md-6{
grid-column:span 6;
}
.col-md-5{
grid-column:span 5;
}
.col-md-4{
grid-column:span 4;
}
.col-md-3{
grid-column:span 3;
}
.col-md-2{
grid-column:span 2;
}
.col-md-1{
grid-column:span 1;
}
大屏適配big.less
body{
background:transparent;
}
.container{
width:1180px;
margin:0 auto;
}
.col-lg-12{
grid-column:span 12;
}
.col-lg-11{
grid-column:span 11;
}
.col-lg-10{
grid-column:span 10;
}
.col-lg-9{
grid-column:span 9;
}
.col-lg-8{
grid-column:span 8;
}
.col-lg-7{
grid-column:span 7;
}
.col-lg-6{
grid-column:span 6;
}
.col-lg-5{
grid-column:span 5;
}
.col-lg-4{
grid-column:span 4;
}
.col-lg-3{
grid-column:span 3;
}
.col-lg-2{
grid-column:span 2;
}
.col-lg-1{
grid-column:span 1;
}
效果圖

使用rem單位操作尺寸響應(yīng)處理
推薦使用自動化構(gòu)建工具插件。
到此這篇關(guān)于詳解CSS3媒體查詢響應(yīng)式布局bootstrap 框架原理實戰(zhàn)的文章就介紹到這了,更多相關(guān)CSS 響應(yīng)式布局bootstrap 框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
css3媒體查詢中device-width和width的區(qū)別詳解
這篇文章主要介紹了css3媒體查詢中device-width和width的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小2020-03-27- 這篇文章主要介紹了css3 響應(yīng)式媒體查詢的示例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-25
- 這篇文章主要介紹了css3中媒體查詢結(jié)合rem布局適配手機屏幕,需要的朋友可以參考下2019-06-10
- 這篇文章主要介紹了CSS3 Media Queries中媒體屬性的使用,文章中還以一個響應(yīng)式設(shè)計的例子作為補充講解,需要的朋友可以參考下2016-02-29
CSS3媒體查詢Media Queries基礎(chǔ)學(xué)習(xí)教程
這篇文章主要介紹了CSS3媒體查詢基本學(xué)習(xí)教程,包括基本的語法和邏輯操作符,以及媒體查詢可檢測的特性與利用viewport禁止用戶縮放等部分的內(nèi)容,需要的朋友可以參考下2016-02-29使用CSS媒體查詢(Media Queries)和JavaScript判斷瀏覽器設(shè)備類型的方法
有無數(shù)的理由要求我們在任何時候都應(yīng)該知道用戶是使用的什么設(shè)備瀏覽我們的網(wǎng)站——寬屏,普通屏,平板,手機?知道這些特征,我們web應(yīng)用的CSS和JavaScript才能同步做相應(yīng)2014-04-03- 媒體類型:all 所有設(shè)備、screen 電腦顯示器等等;媒體特性共13種,可以說是一個類似CSS屬性的集合,感興趣的朋友可以了解下本文,希望對大家有所幫助2013-09-12
CSS3媒體查詢實現(xiàn)不同寬度的下不同內(nèi)容的展示功能
這篇文章主要介紹了CSS3媒體查詢實現(xiàn)不同寬度的下不同內(nèi)容的展示功能,本章節(jié)我們將為大家演示一些多媒體查詢實例,需要的朋友可以參考下2023-11-27

