我试图创建一个如下图所示的形状,仅在一侧(例如,底侧)具有倾斜边缘,而其他边缘保持笔直.
我尝试使用border方法(代码如下),但我的形状的尺寸是动态的,因此我不能使用这种方法.
.shape {
position: relative;
height: 100px;
width: 200px;
background: tomato;
}
.shape:after {
position: absolute;
content: '';
height: 0px;
width: 0px;
left: 0px;
bottom: -100px;
border-width: 50px 100px;
border-style: solid;
border-color: tomato tomato transparent transparent;
}
Run Code Online (Sandbox Code Playgroud)
<div class="shape">
Some content
</div>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用渐变作为背景(如下面的代码所示),但随着尺寸的变化,它会变得混乱.你可以通过悬停在下面代码片段中的形状来看到我的意思.
.gradient {
display: inline-block;
vertical-align: top;
height: 200px;
width: 100px;
margin: 10px;
color: beige;
transition: all 1s;
padding: 10px;
background: linear-gradient(45deg, transparent 45%, tomato 45%) no-repeat;
}
.gradient:hover {
width: 200px;
} …
Run Code Online (Sandbox Code Playgroud)我用标签嵌入了一个pdf文件.
<iframe id="iframepdf" src="files/example.pdf"></iframe>
Run Code Online (Sandbox Code Playgroud)
这在Chrome,IE8 +,Firefox等中运行良好,但出于某种原因,当有人在IE8中查看时,文件正在下载而不是嵌入.我知道这个浏览器已经过时,但它是我办公室内的标准浏览器,因此,网站必须为此设计.
有没有人有任何关于为什么会发生这种情况的想法,如何修复它或者输入错误信息而不是让文件下载?
使用Adobe Reader X(版本10.0.*)在Internet Explorer(v 6,7,8,9)中打开PDF存在一个已知问题.浏览器窗口加载一个空的灰色屏幕(甚至没有Reader工具栏).它适用于Firefox,Chrome或Adobe Reader 10.1.*.
我发现了几个解决方法.例如,点击"刷新"将正确加载文档.升级到Adobe Reader 10.1.*,或降级到9.*,也解决了这个问题.
但是,所有这些解决方案都要求用户弄明白.我的大多数用户在看到这个灰色屏幕时非常困惑,最终指责PDF文件并指责网站被破坏.老实说,在我研究这个问题之前,我也责备了PDF!
所以,我试图找到一种方法来解决我的用户的这个问题.
我考虑过提供一个"下载PDF"链接(将Content-Disposition
标题设置为attachment
而不是inline
),但我的公司根本不喜欢这个解决方案,因为我们真的希望这些PDF文件能够在浏览器中显示.
我真的希望找到一个与最终用户无缝的解决方案,因为我不能依赖它们来了解如何更改其Adobe Reader设置,或者自动安装更新.
这是可怕的灰色屏幕:
编辑:截图已从文件服务器中删除!抱歉!
该图像是一个浏览器窗口,带有常规工具栏,但是背景为灰色背景,没有任何UI.
背景信息:
虽然我不认为以下信息与我的问题有关,但我会将其包含在内以供参考:
这是一个ASP.NET MVC应用程序,并且提供了jQuery.
PDF文件的链接已target=_blank
在新窗口中打开.
PDF文件正在即时生成,并且所有内容标题都已正确设置.URL不包含.pdf
扩展名,但我们会content-disposition
使用有效的.pdf
文件名和inline
设置来设置标头.
编辑:这是我用来提供PDF文件的源代码.
首先,控制器行动:
public ActionResult ComplianceCertificate(int id){
byte[] pdfBytes = ComplianceBusiness.GetCertificate(id);
return new PdfResult(pdfBytes, false, "Compliance Certificate {0}.pdf", id);
}
Run Code Online (Sandbox Code Playgroud)
这是ActionResult(PdfResult
,继承System.Web.Mvc.FileContentResult
):
using System.Net.Mime;
using System.Web.Mvc;
/// <summary>
/// …
Run Code Online (Sandbox Code Playgroud) 这是我打印pdf文件的代码.在这里打印时间我只有一页我需要一个解决方案
function printPdf(){
var ifr = document.getElementById("frame1");
//PDF is completely loaded. (.load() wasn't working properly with PDFs)
ifr.onreadystatechange = function () {
if (ifr.readyState == 'complete') {
ifr.contentWindow.focus();
ifr.contentWindow.print();
}
}
}
Run Code Online (Sandbox Code Playgroud) 阻止独立网络应用中的链接在移动版Safari中打开有很多流量,但引用的iOS版本要早得多(7-9?).在iOS 11中,我遇到了相反的问题:在我的独立Web应用程序中,我有指向需要显示的PDF文件的链接.当我点击它们时,无论我给出了什么选项,它们都会在Web应用程序浏览器内打开而不是在Safari内部打开.由于独立模式,结果是Web应用程序中的死胡同,需要重新启动应用程序.(Android似乎做了正确的事情并转移到pdf查看应用程序.)
单击处理程序(javascript/bootstrap/jquery):
function openDocument(docURL) {
window.open(docURL,'_blank');
return false;
}
Run Code Online (Sandbox Code Playgroud)
或者,可以为新页面打开Web应用程序内的导航,以便我可以避免死路一条吗?(我认为没有,因为我正在阅读;我已经尝试了一些选项来开窗.打开无济于事.)或者是否有可能以某种方式组合一个(多页)pdf查看器和一个用于解雇的UI元素?建议欢迎.
编辑:总结下面的讨论,iOS在独立的Web应用程序中处理内部和外部链接的方式不同.通过在服务器端重新映射使链接看起来是外部的,允许链接强制Safari打开.
javascript ios iphone-standalone-web-app progressive-web-apps
特别是在IE9上,当我通过iFrame查看PDF时,我的导航菜单位于我的iframe后面.
我已经设置了一个jsfiddle来演示:
或者,请参阅此问题的底部以获取代码.
在IE9上查看如果将鼠标悬停在导航元素上,那么您可以看到具有子导航的元素将隐藏在iFrame后面.
我已经尝试将导航菜单的z-index设置为高于iFrame的z-index,但它没有用.
如何解决此问题,以便navigatino菜单的子菜单显示在iframe的顶部?
HTML
<div id="navMenu">
<ul id="menu">
<li>
<a href="#">Menu 1</a>
</li>
<li><a href="#">Menu 2</a>
<ul class="sub-menu">
<li>
<a href="#">Sub Menu 1</a>
</li>
<li>
<a href="#">Sub Menu 2</a>
</li>
<li>
<a href="#">Sub Menu 3</a>
</li>
<li>
<a href="#">Sub Menu 4</a>
</li>
</ul>
</li>
<li><a href="#">Menu 3</a>
</li>
<li><a href="#">Menu 4</a>
<ul class="sub-menu">
<li>
<a href="#">Sub Menu 1</a>
</li>
<li>
<a href="#">Sub Menu 2</a>
</li>
<li>
<a href="#">Sub Menu 3</a>
</li>
<li>
<a href="#">Sub Menu 4</a> …
Run Code Online (Sandbox Code Playgroud) 我环顾四周,似乎无法找到适合我的方式.我正在创建一个网站,我有两个按钮,一个下载按钮(工作正常)和一个应该打印PDF的打印按钮(甚至只需打开打印对话框打开adobe中的PDF).
我和其他许多问题的最大区别在于我不是要创建一个新文档.我的PDF是使用我已经创建的模板PDF生成的.
我只需要一种方法来打印文档.我无法将其保存在服务器上,因为我希望客户端能够打印它.我已经尝试了一个MemoryStream,但它没有工作(授予我可能没有正确编写,代码如下).标题是从不同的页面抓取的.
using (var ms = new MemoryStream())
{
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", header); /
Response.Buffer = true;
Response.Clear();
var bytes = ms.ToArray();
PdfReader r = new PdfReader(template);
using (PdfStamper ps = new PdfStamper(r, Response.OutputStream))
{
AcroFields af = ps.AcroFields;
...
ps.FormFlattening = true;
}
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.OutputStream.Flush();
Run Code Online (Sandbox Code Playgroud)
同样,我希望客户能够打印出单击"打印"按钮后生成的PDF.
html ×3
javascript ×3
pdf ×3
css ×2
iframe ×2
adobe-reader ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
css-shapes ×1
css3 ×1
ios ×1
itextsharp ×1
printing ×1