如何仅使用 css 以 iphone 经典风格设置聊天气泡样式

2023-12-11

我试图创建一个 html 页面,它看起来类似于消息(线程视图),就像在我们的 android 和 iphone 设备中一样。

这是我编码的内容

CSS 样式:

<style type='text/css'>
.triangle-right 
 {  
        position:relative;   
        padding:15px;   
        color:#fff;   
        background:#075698;   
        background:-webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));   background:-moz-linear-gradient(#2e88c4, #075698);   
        background:-o-linear-gradient(#2e88c4, #075698);   
        background:linear-gradient(#2e88c4, #075698);   
        -webkit-border-radius:10px;   
        -moz-border-radius:10px;   
        border-radius:10px;   
 }   
 .triangle-right.top   
 {     
    background:-webkit-gradient(linear, 0 0, 0 100%, from(#075698), to(#2e88c4));   
    background:-moz-linear-gradient(#075698, #2e88c4);   
    background:-o-linear-gradient(#075698, #2e88c4);   
    background:linear-gradient(#075698, #2e88c4);   
 }   
 .triangle-right.left   
     {   
            margin-left:10px;background:#075698;   
     }   
     .triangle-right.right   
     {   
        margin-right:10px;  background:#075698;   
     }   
     .triangle-right:after    
     {   
     content:'';   
         position:absolute;   
         bottom:-20px;left:50px;border-width:20px 0 0 20px;border-style:solid;border-color:#075698 transparent; display:block;width:0;   
     }   
     .triangle-right.top:after    
     {   
        top:-20px;right:50px;bottom:auto;left:auto;border-width:20px 20px 0 0;border-color:transparent #075698;    
     }   
 .triangle-right.left:after    
     {   
        top:16px;left:-15px;    bottom:auto;border-width:0 15px 15px 0;border-color:transparent #E8E177;   
     }   
     .triangle-right.right:after   
     {   
        top:16px;right:-15px;bottom:auto;left:auto;border-width:0 0 15px 15px; border-color:transparent #8EC3E2 ;   
 }  
.triangle 
{
width: 0;
height: 0;
    border-left: 50px solid transparent;
    border-right: 100px solid transparent;
    border-bottom: 50px solid #fc2e5a;
}

我尝试改变一些值

     .triangle-right.left:after    
     {   
        top:16px;left:-15px;    bottom:auto;border-width:0 15px 15px 0;border-color:transparent #E8E177;   
     }   
     .triangle-right.right:after   
     {   
        top:16px;right:-15px;bottom:auto;left:auto;border-width:0 0 15px 15px; border-color:transparent #8EC3E2 ;   
 } 

但没有得到所需的确切形状。 我需要按照以下方式构建气泡

谁能帮我


CSS ios messenger message bubbles

The HTML

<div class="chat">
  <div class="yours messages">
    <div class="message last">
      Hello, how's it going?
    </div>
  </div>
  <div class="mine messages">
    <div class="message">
      Great thanks!
    </div> 
    <div class="message last">
      How about you?
     </div>
  </div>
</div>

The CSS

body {
  font-family: helvetica;
  display: flex ;
  flex-direction: column;
  align-items: center;
}

.chat {
  width: 300px;
  border: solid 1px #EEE;
  display: flex;
  flex-direction: column;
  padding: 10px;
}

.messages {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
}

.message {
  border-radius: 20px;
  padding: 8px 15px;
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
}

.yours {
  align-items: flex-start;
}

.yours .message {
  margin-right: 25%;
  background-color: #EEE;
  position: relative;
}

.yours .message.last:before {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: -7px;
  height: 20px;
  width: 20px;
  background: #EEE;
  border-bottom-right-radius: 15px;
}
.yours .message.last:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: -10px;
  width: 10px;
  height: 20px;
  background: white;
  border-bottom-right-radius: 10px;
}

.mine {
  align-items: flex-end;
}

.mine .message {
  color: white;
  margin-left: 25%;
  background: rgb(0, 120, 254);
  position: relative;
}

.mine .message.last:before {
  content: "";
  position: absolute;
  z-index: 0;
  bottom: 0;
  right: -8px;
  height: 20px;
  width: 20px;
  background: rgb(0, 120, 254);
  border-bottom-left-radius: 15px;
}

.mine .message.last:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: -10px;
  width: 10px;
  height: 20px;
  background: white;
  border-bottom-left-radius: 10px;
}

https://codepen.io/swards/pen/gxQmbj

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何仅使用 css 以 iphone 经典风格设置聊天气泡样式 的相关文章

  • 在 JavaScript 中使用 document.getElementById

    有人可以解释一下是什么document getElementById demo 下面的例子中的线是什么 我知道 getElementById 获取演示的 id 但 id 是 p p 到底是什么 p p 在这段代码中做什么 document
  • jQuery 更改事件未在输入元素上触发

    首先 我检查了与我的问题类似的每个主题 不幸的是 我还没有找到答案 我尝试结合一些答案 但没有成功 注 刚开始学习jQuery 所以这是我的问题 我创建了一个带有四个文本输入和一个按钮的表单 每个输入内部都有一个 svg 图标和一个占位符文
  • 比例背景图像

    我想放大和缩小页面中的背景图像 我尝试过多种方法 但似乎没有一种方法能按照我想要的方式工作 我的页面的网址是http quaaoutlodge com drupal 7 14 http quaaoutlodge com drupal 7 1
  • 禁用单一样式的 CSS 转换?

    为单个样式启用 CSS 过渡非常容易 但是是否可以为单个样式禁用它们 单一样式过渡的常用方法是 div transition opacity 0 5s 但我想做的是设置一个全局转换 然后为单个属性禁用它 也许是这样的 div transit
  • css3动画硬闪烁(帧之间没有淡入淡出)

    尝试使用 css3 动画连续闪烁三个元素 我已经让它运行了 但是每一帧都有一个淡入淡出 我想将其删除 理想情况下 每个元素保持可见 1 秒 然后立即隐藏 我尝试将动画设置为帧0 and 99 for opacity 1 and 100 fo
  • Windows Phone 8 中的 Webview 弹跳

    我需要知道是否有任何方法可以控制 Windows 8 中的 webview 弹跳属性 我已经尝试过 ms touch action none 它确实会停止弹跳 但会禁用应用程序中的整个滚动 我已尝试以下方法 但这些方法不起作用 backfa
  • 单值或常量值时在 x 轴上绘制的样条图 - highchart

    while using the older version of highchart 2 1 6 if a plot had only one value or a series of same values it would plot a
  • 您可以使用 JavaScript 触发自定义 HTML5 表单错误吗?

    如果我有一个像这样的输入
  • 通过 SVG 背景传递鼠标事件

    我有两个 SVG 元素 每个元素覆盖整个屏幕 html body height 100 svg position absolute top 0 left 0 bottom 0 right 0
  • 在 TCPDF 中设置背景颜色

    我已经手动设置了第一页的背景颜色 如下所示 pdf gt AddPage pdf gt SetFillColor 52 21 0 76 pdf gt Rect 0 0 pdf gt getPageWidth pdf gt getPageHe
  • HTML 覆盖高度覆盖整个可见页面

    我有一个使用 AJAX 加载一些内容的网页 我想在加载过程中显示带有加载指示器的覆盖层 以便用户无法与页面的大部分内容交互 除了顶部的菜单 我正在使用 jQuery 和jQuery BlockUI 插件 http malsup com jq
  • HTML5 服务器端事件:EventSource 与包装的 WebSocket

    HTML5 服务器发送事件 SSE API 是否只是 HTML5 WebSocket 之上的受限制的 基于事件的 API 在我看来 一个EventSource只是一个WebSocket that Cannot send data 使用tex
  • Django css文件缓存

    我有一个 css 文件 我想修改它以满足我的需要 问题是它似乎被缓存在某个地方 因为无论我在 css 文件中做什么 我都看不到更改 我确信我指向了正确的文件 因为现在我已经对其进行了修改 并且它有效 有什么设置可以关闭缓存吗 谢谢 正如本文
  • dompdf:找不到图像或类型未知

    这是我的代码 我几乎尝试了所有在 PDF 上显示图像的方法 但仍然不起作用 你能帮我解决这个问题吗 我还将 DOMPDF ENABLE REMOTE 设置为 true 结果仍然相同 require once dompdf autoload
  • 在 HTML 中移动选取框/下移文本

    我正在尝试向下移动或移动 HTML 中的文本 但我似乎无法将其移动到任何地方 我添加了一个颜色命令来更改文本的颜色 但似乎只是移动了 它一直到顶部
  • CSS:将加载指示器放置在屏幕中央

    如何将加载指示器放置在屏幕中央 目前我正在使用一个小占位符 它似乎工作得很好 但是 当我向下滚动时 加载指示器保持在该预定义位置 我怎样才能让它跟随滚动 使其始终位于顶部 busy position absolute left 50 top
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • 使用文本遮盖视频

    是否可以使用 HTML CSS 文本来屏蔽视频 我已经找到并设置了这种工作方式 但没有一种允许文本后面有透明背景 例如 这支笔要求您进行某种填充 它并不是真正掩盖实际视频 而是创造幻觉 https codepen io dudleystor
  • iOS 5 中的 webkit-overflow-scrolling: touch "handle" 是否有外观 CSS 规则?

    我有一个元素恰好同时具有 webkit overflow scrolling touch 和 background color black 因此显示滚动位置的 手柄 很难看到 是否有 webkit CSS 样式规则可以改变该 手柄 的外观
  • 使用 jQuery 修改 HTML 表格的结构

    我有一个元素列表 X在以下示例中 显示在 HTML 表格的行或列中 从 HTML 代码的角度来看 我有 水平显示 table tr td A td td B td td C td tr table 或 垂直显示 table tr td A

随机推荐

  • 语法糖:_* 用于将 Seq 视为方法参数

    我刚刚在网络上的某个地方注意到了这个构造 val list List someCollection 什么是 意思是 这是某些方法调用的语法糖吗 我的自定义类应该满足哪些约束才能利用此语法糖 一般来说 表示法用于类型归属 强制编译器将值视为某
  • Jquery 1.4 - 选择 - onchange 无需点击即可触发 - Firefox

    我看到非常奇怪的行为 在 Firefox 中 如果您有一个选择下拉菜单 但没有选择任何项目 则 onchange 事件会触发 onblur 即使您只是将焦点更改到页面上的不同元素 我的选择只是一个普通的选择
  • 转换方法。 “类型上的指定方法无法转换为 LINQ to Entities 存储表达式”

    我已将实体 6 0 项目从 SQL Server 迁移到 PostGreSQL 使用 SQL Server 我的查询的此类转换过去可以正常工作 模块 cs return from m in objDB Modules orderby m I
  • Android:ActivityThread.performLaunchActivity 错误

    每次在调试器中启动程序时 我都会收到 ActivityThread performLaunchActivity ActivityThread ActivityRecord Intent 错误 该程序甚至无法启动 任何帮助将不胜感激 我对这个
  • $_GET 和 $_POST 不起作用

    我是 php 的初学者 正在尝试一些非常简单的测试来开始 我似乎无法从 GET 获取任何值 这个测试 php usr bin php h1 GET test h1 p p 调用时会产生以下结果http my url test php aVa
  • Debezium 是否可以配置 table_name => kafka 主题映射?

    我读了http debezium io docs connectors mysql 但我找不到任何关于是否可以配置 debezium 的信息 以便可以将 2 个 或更多 表的更改写入同一个 kafka 主题 在我看来 它总是 1 个表 gt
  • 类的泛型类型参数的推断失败取决于该类的属性

    我有一个相当简单的情况 Typescript 无法推断类型 我想知道为什么 Typescript 会这样 Typescript 类型推断失败的情况 如果您有以下类声明 declare class Swine grunt void decla
  • IE7 中的 javascript split regex 错误

    我正在尝试用这个正则表达式进行拆分 在 javascript 中 我在 IE7 和 FF 中得到不同的结果 Firefox 结果是正确的
  • 如何在 Android RecyclerView 中添加分隔线?

    我正在开发一个 Android 应用程序 我正在使用RecyclerView 我需要添加一个divider in RecyclerView 我尝试添加 recyclerView addItemDecoration new DividerIt
  • Titanium - 从以前版本的 iOS 应用程序中检索 SQLite 数据

    我受委托更新一个本机 iOS 应用程序 但由于我们也打算将其发布到其他平台 因此我们正在使用 Appcelerator 的 Titanium 编写新版本 当前的应用程序使用 SQLite 数据库来存储用户信息 当用户将其应用程序更新到新数据
  • 通用属性的缺点?

    我在我的项目中使用通用属性 但我不知道 使用它们有什么缺点 请告诉我一个场景 它们有一个缺点 下面是我的部分代码 public class GenericResult
  • 比较两个频谱图以找到它们匹配算法的偏移量

    我每天通过互联网录制 2 分钟的广播 总是有相同的开始和结束歌曲 由于广播的确切时间可能会有所不同 或多或少有 6 分钟 因此我必须录制大约 15 分钟的广播 我希望确定这些歌曲在 15 分钟记录中出现的确切时间 这样我就可以提取我想要的音
  • 为什么 python xlrd 在打开 .xlsm 而不是 .xls 时出错

    Python 程序可以正常打开 xls 但无法打开 xlsm 并且会立即失败 xlrd open workbook Some filename xlsm 错误 发生异常 AttributeError bytes 对象没有属性 seek 任何
  • 拉取 JSON 数据

    我正在尝试从 json 数据获取事件日历 我只想突出显示日期 并在用户单击日期时在日历下方更新一个包含事件详细信息的 div 我的应用程序以以下形式提供 JSON Date 02 06 2012 Title Eat Bike and Swi
  • 创建 Zip,然后将文件夹复制到其中

    我正在尝试创建一个 zip 文件 然后将三个文件夹复制到其中 我在第 33 行字符 1 上收到错误 需要错误状态对象 我已经搜索和谷歌搜索 但似乎无法理解我正在阅读的内容或理解我真正需要搜索的内容 无论如何 这是我的代码 Option Ex
  • 如何才能让我的表单始终处于最重要的位置?

    我有这些光标形状的小表格 我需要始终将它们置于一切之上 FormStyle已经fsStayOnTop我使用这段代码 SetWindowPos tempCursor Handle HWND TOPMOST 0 0 0 0 SWP NOMOVE
  • Firefox 和 Chrome 在本地主机上运行缓慢;已知修复不适用于 Windows 7

    众所周知 当启用 IP6 时 Firefox 和 Chrome 在本地主机上速度很慢 在以前版本的 Windows 中 最简单的修复方法是从主机文件中注释掉这一行 如中所述这个问题的答案 1 localhost 然而 正如这个问题所指出的
  • php - 使用户能够收藏帖子

    在我的网站上 我希望允许用户收藏帖子 登录的用户被定向到一个显示所有帖子的页面 在每个帖子下我都放置了一个指向收藏夹的超链接 我希望文本从最喜欢变为最喜欢 反之亦然 我怎么做 HTML 和 PHP
  • 加载图像时如何运行 JavaScript 回调?

    我想知道图像何时完成加载 有没有办法通过回调来做到这一点 如果没有 有没有办法做到这一点 complete 回调 这是符合标准的方法 没有额外的依赖项 并且等待时间不会超过必要的时间 var img document querySelect
  • 如何仅使用 css 以 iphone 经典风格设置聊天气泡样式

    我试图创建一个 html 页面 它看起来类似于消息 线程视图 就像在我们的 android 和 iphone 设备中一样 这是我编码的内容 CSS 样式