css3如何实现边框阴影

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css3如何实现边框阴影相关的知识,希望对你有一定的参考价值。

参考技术A

我们在制作网页的时候可以用CSS3添加边框,那么如果要给边框添加阴影该怎么做呢?下面我给大家分享一下。

工具/材料

SublimeText

首先打开Sublime Text软件,新建一个HTML文档,如下图所示

然后在html文档的Body区域插入一个div,如下图所示

接下来给div定义一些样式,注意其中的box-shadow就是定义边框阴影的,如下图所示

最后我们运行界面程序,你会看到边框已经被添加上阴影了,如下图所示

UICollectionViewCell 边框/阴影

【中文标题】UICollectionViewCell 边框/阴影【英文标题】:UICollectionViewCell Border / Shadow 【发布时间】:2012-10-29 12:05:29 【问题描述】:

在构建 iPad App 时,如何在 UICollectionViewCell 周围绘制边框?

更多细节:我实现了一个扩展 UICollectionViewCell 的类 ProductCell。现在,我想分配一些花哨的细节,例如边框、阴影等。但是,当尝试使用 this here 之类的东西时,Xcode 告诉我接收器类型 'CALayer' 是前向声明。

【问题讨论】:

【参考方案1】:

只是为了更多的实现:

#import <QuartzCore/QuartzCore.h>

在你的.m中

确保你的类实现了

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath; 

因为这是设置单元的位置。

然后您可以更改cell.layer.background(仅在导入石英后可用)

见下文

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath 
    MyCollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"pressieCell" forIndexPath:indexPath];
    //other cell setup here

    cell.layer.borderWidth=1.0f;
    cell.layer.borderColor=[UIColor blueColor].CGColor;

    return cell;

【讨论】:

【参考方案2】:

斯威夫特

为 Swift 3 更新

假设您有Collection View set up with the required methods,您只需编写几行代码即可添加边框。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
    
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! MyCollectionViewCell
    cell.myLabel.text = self.items[indexPath.item]
    cell.backgroundColor = UIColor.cyan 
    
    // add a border
    cell.layer.borderColor = UIColor.black.cgColor
    cell.layer.borderWidth = 1
    cell.layer.cornerRadius = 8 // optional
    
    return cell

备注

如果您已经导入了UIKit,则无需在Swift 中导入QuartzCore。 如果您还想添加阴影,请参阅this answer。

【讨论】:

【参考方案3】:

您需要包含框架QuartzCore 并将标头导入您的类:

#import <QuartzCore/QuartzCore.h>

【讨论】:

【参考方案4】:

斯威夫特 4

cell.layer.borderColor = UIColor.black.cgColor
cell.layer.borderWidth = 1

在数据源方法中添加它,创建单元格后

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath)
     cell.layer.borderColor = UIColor.black.cgColor
     cell.layer.borderWidth = 1

【讨论】:

【参考方案5】:

我认为最好将此配置添加到您的自定义单元实现中,而不是在数据源委托方法中。

cell.layer.borderColor = UIColor.black.cgColor
cell.layer.borderWidth = 1
cell.layer.cornerRadius = 8 // optional

【讨论】:

以上是关于css3如何实现边框阴影的主要内容,如果未能解决你的问题,请参考以下文章

winform 如何实现边框的阴影效果,就像360那种的,四周都有阴影。

怎么用css设置div的左边和右边有阴影

CSS 如何实现让div的四个边框都有阴影的效果?

css3 这种半透明边框带阴影,里面填充白色该怎么做?

CSS3如何实现0.5边框

css和css3的区别