您的位置:

10个用于创建响应式网站的最佳CSS示例

一、简介

现代网络世界要求网站在各种设备上都能良好地呈现,这就是响应式设计的重要性。CSS是一种工具,可在不同平台和设备上为您的网站设计提供优越的用户体验。本文将推荐10个最佳CSS示例,这些示例将在您创建适应各种屏幕尺寸的响应式网站时提供帮助。这些示例的源代码示例已包含在文章中,以方便您学习和使用。现在让我们开始吧!

二、适应性布局

管理响应式网站布局是制作响应式设计的一个重要部分。下面这个示例演示了使用Flexbox和Media Queries创建适应性布局的基础。

代码示例:

/* media queries for different screen sizes */
@media screen and (max-width: 600px){
  /* For screen with 600px or less */
  .container {
    flex-direction: column;
  }
  .box {
    margin: 0 0 10px 0;
  }
}

/* Flexbox for layout */
.container {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 20px 0;
}

.box {
  width: 250px;
  height: 250px;
  margin: 0 10px 0 0;
  background-color: #dddddd;
  border-radius: 5px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: Arial, sans-serif;
  font-size: 20px;
  color: #333333;
}

这个示例使用Flexbox和Media Queries在不同屏幕尺寸下动态控制网页的布局。Media Queries可检测屏幕宽度,以便针对不同的设备提供不同的网页布局。Flexbox是一种CSS布局模型,可实现灵活的、响应式的和动态的网页布局。使用这种方法可以轻松地为您的网页提供可以适应不同屏幕的布局。

三、带响应式菜单的折叠效果

下面这个示例演示了如何使用CSS创建具有折叠效果并且适应不同屏幕尺寸下的菜单。它使用了HTML和CSS。当屏幕尺寸变小时,菜单就像一份紧凑的列表一样呈现出来。再次单击标题可返回到表单输入以进行筛选。

代码示例:

/* CSS for hiding checkbox inputs */
input[type=checkbox]{
    position:absolute;
    top: -9999px;
    left: -9999px;
}
/* CSS for custom menu icon */
label[for=toggle]{
    position:fixed;
    top:10px;
    right:10px;
    cursor:pointer;
    z-index:1000;
}
label[for=toggle]::after{
    content:"\2261";
    font-size:40px;
    display:block;
}
/* CSS for the menu */
#menu {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
  /* Important part here */
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0s 0.5s;
}
/* CSS for showing the menu */
input[type=checkbox]:checked ~ #menu{
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
}
/* CSS for menu header */
.menu-header {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#333;
    padding:10px 0;
    color:#fff;
    z-index:100;
}
/* CSS for menu body */
.menu-body{
    margin-top:50vh; /* Half the viewport height */
    transform:translateY(-50%);
}
/* CSS for menu links */
.menu-links{
    text-align:center;
    font-size:24px;
}
.menu-links a{
    display:inline-block;
    padding:20px 0;
    color:#333;
    text-decoration:none;
}
@media (min-width: 600px) {
  /* CSS for desktop navigation */
  .menu-body {
    margin-top:0;
    transform:none;
  }
  .menu-header {
    position:static;
    background:transparent;
    padding:0;
  }
  .menu-links {
    display:flex;
    justify-content:space-around;
  }
}

四、响应式图片

在网站上使用图片是不可少的,但是在处理不同屏幕尺寸时,图片可能会出现问题。这个示例演示了如何使用CSS和Media Queries创建一个响应式图片。

代码示例:

/* CSS for responsive images */
img {
    max-width: 100%;
    height:auto;
}
/* Media queries for screen size */
@media screen and (min-width: 768px) {
  img {
    max-width: 50%;
  }
}

在此示例中,CSS代码使图像的最大宽度为100%,高度自适应。在Media Queries的条件下,当屏幕尺寸大于768px时,图像的最大宽度将为50%。这样可以确保图像在任何屏幕尺寸下都可以完全显示。

五、透明度和阴影

透明度和阴影是CSS设计中的常见特性。通过透明度和阴影可以使网站内容更加美观。这个示例展示了如何使用CSS轻松添加透明度和阴影。

代码示例:

/* CSS for box with shadow and opacity */
.box {
    position: relative;
    padding: 30px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    opacity: 0.9;
}

在这个示例中,box类的元素具有背景色,圆角边框和阴影,以及0.9的透明度。这使得元素看起来更加美观,并且可以轻松地适应任何网站设计。

六、响应式背景图像

背景图像是网站设计中的重要部分。但是在不同的设备上,背景图像大小可能会发生变化。这个示例演示了如何使用CSS和Media Queries创建一个响应式背景图像。

代码示例:

/* CSS for responsive background image */
.bg {
    height: 1000px;
    background: url('example.jpg') center/cover no-repeat;
}
/* Media queries for screen sizes */
@media screen and (max-width:768px) {
  .bg {
    background-size: contain;
  }
}

在此示例中,CSS代码使背景图像显示在页面的中心,并为其定义了大小。对于大屏幕,background-size设置为cover,而对于小屏幕,它将背景大小设置为contain。此方法可以确保背景图像在任何屏幕尺寸下完全显示。

七、自适应文本

文本尺寸对于网站设计非常重要。但是您在不同的设备上可能需要显示不同大小的文本。这个示例演示了如何使用CSS和Media Queries创建自适应文本。

代码示例:

/* CSS for adaptive text */
p {
    font-size: 16px;
    line-height: 1.5;
}
/* Media queries for screen sizes */
@media screen and (max-width: 600px) {
  p {
    font-size: 14px;
  }
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 18px;
  }
}

在此示例中,文本元素的默认font-size为16px。在Media Queries的条件下,当屏幕宽度小于600px时,文本大小为14px。当屏幕宽度大于1024px时,文本大小设置为18px。

八、特别的按钮

按钮在网站设计中部分重要性不可忽视。这个示例演示了如何使用CSS创建一个不寻常的按钮,并适应不同屏幕尺寸。

代码示例:

/* CSS for unusual button */
button {
    position: relative;
    width: 200px;
    height: 80px;
    border: none;
    border-radius: 40px;
    background: #1abc9c;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
}
button::before {
    content:'';
    position: absolute;
    top: -50%;
    right: -50%;
    bottom: -50%;
    left: -50%;
    background: #16a085;
    border-radius: 50%;
    transform: scale(0);
    opacity: 0;
    transition: transform 0.5s, opacity 0.5s;
}
button:hover::before {
    transform: scale(2);
    opacity: 1;
}

/* Media queries for screen sizes */
@media screen and (max-width: 600px) {
  button {
    width: 150px;
    height: 60px;
    font-size: 16px;
  }
}

在此示例中,您可以看到一个圆形的按钮,当鼠标滑过它时,它会展开一个圆形的扩展。在Media Queries的条件下,当屏幕宽度小于600px时,按钮宽度和高度将变为150px和60px,字体大小减小至16px。

九、模糊效果

模糊效果是CSS设计中常见的一种特效。它可以使网站元素更加突出,并为设计带来了新的可能性。这个示例演示了如何使用CSS添加模糊效果。

代码示例:

/* CSS for blur effect */
.box {
    position: relative;
    height: 200px;
    width: 200px;
    background: #333;
    color:#fff;
}
.box::before {
    content: "";
    background-image: url('example.jpg');
    filter: blur(5px);
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    z-index: -1;
}

在此示例中,.box元素包含了背景和一些文本。:: before伪元素包含了一个背景图片和一个blur(5px)CSS滤镜。这使得元素背景看起来更加模糊,突出了文本部分。

十、平面风格设计

平面风格设计是一种视觉风格,以平面图像和简单的元素为特色。它利用了明亮的颜色,有时还配合动画效果来使用户感到舒适。这个示例演示了如何使用CSS和动画效果创建平面风格设计。

代码示例:

/* CSS for flat design with animation */
.box {
    position: relative;
    display: inline-block;
    padding: 20px 30px;
    background-color: #fff;
    box-shadow: 0px 3px 1px rgba(0,0,0,0.1);
    border-radius: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    font-family: Arial, sans-serif;
    font-size: 20px;
}
.box:hover {
    transform: translateY(-5px);
    box-shadow: 0px 6px 1px rgba(0,0,0,0.1);
}

在此示例中,.box元素包含背