不规则背景墙 CSS实现背景图片不规则的导航菜单

当我们需要实现一个不规则形状的背景墙或者导航菜单时,可以使用CSS中的clip-path属性和polygon函数来实现。具体步骤如下:

1.创建一个包含所有导航链接的容器。在此容器中添加多个链接,每一个链接代表一个导航项。

2.为每个导航链接设置背景图片,并将其设置为当前导航项的背景图片。

3.使用CSS clip-path属性和polygon函数为导航链接元素创建不规则形状。

4.添加必要的样式以确保不规则形状的边缘与其他元素对齐。

下面是两个示例说明:

示例一:

HTML代码:

<div class="menu">
    <a href="#" class="link link1">Home</a>
    <a href="#" class="link link2">Services</a>
    <a href="#" class="link link3">About</a>
    <a href="#" class="link link4">Contact</a>
</div>

CSS代码:

.menu {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
}

.link {
    width: 25%;
    padding: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background-color: #000;
    transition: all 0.3s ease-in-out;
    -webkit-clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
    clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
}

.link:hover {
    background-color: #555;
}

在此示例中,我们使用了clip-path属性和polygon函数为每个导航链接创建了不规则的形状。我们还在容器上使用了overflow:hidden属性来确保不规则形状不会超出容器的范围。

示例二:

HTML代码:

<div class="menu">
    <a href="#" class="link link1">Home</a>
    <a href="#" class="link link2">Services</a>
    <a href="#" class="link link3">About</a>
    <a href="#" class="link link4">Contact</a>
</div>

CSS代码:

.menu {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
    background-image: url('https://images.unsplash.com/photo-1614526614384-ec8ba73a401f?ixlib=r...');
    background-size: cover;
    background-position: center;
}

.link {
    width: 25%;
    padding: 20px;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease-in-out;
    -webkit-clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
    clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
}

.link:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

在此示例中,我们将背景图像设置为容器的背景图片,并在每个导航链接上使用clip-path属性和polygon函数创建了不规则的形状。我们还在背景图片上添加了一个半透明的黑色遮罩,以使导航链接更加显眼。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:不规则背景墙 CSS实现背景图片不规则的导航菜单 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 详解CSS3中属性选择器新增加的特性

    CSS3中属性选择器是一种很方便的选择器,允许开发者根据元素的属性来选择对应的元素并进行样式定义。CSS3新增加的属性选择器包含了很多新特性,本文将详细讲解这些新特性及其使用方法。 1. 普通属性选择器 在CSS3中,最常用的属性选择器是普通的属性选择器,它可以根据元素的属性选择对应的元素。其格式如下: [attribute] 其中,attribute是用来…

    css 2023年6月9日
    00
  • 对未知高度的图片设置垂直居中的方法详解

    下面是「对未知高度的图片设置垂直居中的方法详解」的攻略: 1. 使用CSS3的Transform属性 我们可以使用CSS3的Transform属性来实现垂直居中的效果。具体的做法是: 将图片设置为绝对定位,然后设置父元素的position属性为相对定位。接着,设置图片的top和left值为50%,并使用Transform属性进行平移。 代码示例: HTML …

    css 2023年6月10日
    00
  • css中的四种定位方式示例介绍

    下面就为您详细讲解 “CSS中的四种定位方式示例介绍”的完整攻略。 什么是CSS的四种定位方式? 在CSS中,常用的定位方式有四种:静态定位(static)、相对定位(relative)、绝对定位(absolute)和固定定位(fixed)。 静态定位:默认定位方式,不做设置,元素按照在文档中的位置显示,并且不可通过top、bottom、left、right…

    css 2023年6月9日
    00
  • 给表格设置不重叠的边框(单线边框)的2种方法

    下面是给表格设置不重叠的边框(单线边框)的2种方法的详细攻略: 方法1:使用CSS的border属性 使用CSS的border属性可以轻松地为表格单元格设置边框,并且避免了边框重叠的问题。下面是具体的步骤: 步骤1:为表格添加样式 在HTML代码中,通过<style>标签或外部CSS文件,为表格添加样式进行渲染: <style> ta…

    css 2023年6月10日
    00
  • vue监听页面中的某个div的滚动事件并判断滚动的位置

    讲解如下: 1. 使用Vue自带指令进行绑定滚动事件 Vue自带的指令v-on可以用来绑定DOM事件,包括滚动事件。下面是一个使用v-on绑定滚动事件的示例代码: <template> <div ref="scrollWrapper" v-on:scroll="scrollHandler"> &…

    css 2023年6月10日
    00
  • element组件中自定义组件的样式不生效问题(vue scoped scss无效)

    问题背景 在Vue开发中,我们经常使用第三方UI库中的组件,同时也经常需要自定义组件样式。但是我们经常会遇到组件样式不生效的问题,特别是在使用 scoped 样式作用域和 scss 预处理器时更容易出现此问题。 解决方法 一、使用 /deep/ / ::v-deep 当我们需要修改第三方组件的样式时, Vue提供了 scoped 样式模块来确保组件样式只应用…

    css 2023年6月9日
    00
  • css样式无效是怎么回事?有哪些常见原因?

    在Web开发中,CSS样式无效是一个常见的问题。本攻略将介绍CSS样式无效的常见原因,并提供两个示例说明。 常见原因 以下是CSS样式无效的常见原因: 选择器错误:选择器可能不正确,无法匹配所需的元素。例如,选择器可能拼写错误、缺少空格或使用了错误的伪类。 样式优先级:样式优先级可能不正确,导致样式被覆盖。例如,样式可能被其他样式表或内联样式覆盖。 样式属性…

    css 2023年5月18日
    00
  • HTML中div嵌套div的margin不起作用的解决方法

    问题描述: 在HTML中,我们往往需要使用div嵌套div来进行页面布局。但是有时候,我们会发现,对外层div设置margin无效,原因是内层div的margin影响了外层div的margin。那么如何解决这个问题呢? 解决方法: 使用padding代替margin 我们可以对外层div设置padding来代替margin,这样就可以消除内层div对外层di…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部