所以我一直在尝试创建和SVG文本标志,显示一个“嵌入”mpg4的字母。起初,我使用Adobe Illustrator并创建了我的徽标和SVG,虽然这给了我一个伟大的100%宽度响应的徽标在我的页面,但我不能在SVG中以任何方式包含视频元素。
现在我得到了一个Didot web字体,并且只是使用一个文本SVG,我从这个演示中复制并粘贴了F12工具的代码:http://tympanus.net/tutorials/animatedtextfills/index22.html
我现在想要做的是如何使这个徽标更大和100%的宽度响应屏幕宽度的变化。
当我编辑CSS类.wrap
的font:
时,我可以得到更大的文本,但SVG本身有一个固定的宽度,会切断大屏幕设备上的文本,我无法计算出来。我不认为这与视频的自然宽度和高度有关。
我正在更改SVGviewbox
属性的值,但似乎无法概念化viewbox
width=600
和height=300
的性质,尤其是在父SVG中有一个嵌套SVG的情况下。
即使在阅读了这篇文章:http://tutorials.jenkov.com/svg/svg-viewport-view-box.html#viewbox,我仍然难以理解viewbox
值是否在我的问题中发挥了作用。
实际上我认为不需要更改两个svg
元素的viewbox
属性中的值。可能是em计算导致了与SVG
text
元素计算有关的问题:
<text text-anchor="middle" x="50%" y="50%" dy=".35em" class="text">
Couture Book
</text>
.mask__shape
{
fill: white;
}
.content
{
padding: 0 1em;
text-align: center;
width: 100%;
}
.wrap
{
width: 100%;
position: relative;
font: 700 2.5em/1 'Dido';
text-transform: uppercase;
margin: 0 auto;
text-align: left;
overflow: hidden;
padding: 80px 0;
-webkit-transform: translate3d(0,0,0);
}
.box-with-text
{
position: absolute;
top: 50%;
width: 100%;
padding-top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.text-fill
{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
overflow: hidden;
}
svg:not(:root)
{
overflow: hidden;
}
.svg-defs
{
width: 0;
height: 0;
}
.svg-inverted-mask
{
position: absolute;
top: 0;
}
.shape--fill
{
fill: #fff;
}
.text--transparent
{
fill: transparent;
}
<div class="content">
<div class="wrap">
<svg viewBox="0 0 600 300" class="svg-defs">
<!-- Symbol with text -->
<symbol id="s-text">
<text text-anchor="middle" x="50%" y="50%" dy=".35em" class="text">
Couture Book
</text>
</symbol>
<!-- Mask with text -->
<mask id="m-text" maskUnits="userSpaceOnUse" maskContentUnits="userSpaceOnUse">
<rect width="100%" height="100%" class="mask__shape">
</rect>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#s-text" class="mask__text"></use>
</mask>
</svg>
<div class="box-with-text">
<!-- Container for video -->
<div class="text-fill">
<video class="video" src="http://tympanus.net/Tutorials/AnimatedTextFills/img/bokeh2.mp4" autoplay="" loop=""></video>
</div>
<!-- Visible SVG -->
<svg viewBox="0 0 600 300" class="svg-inverted-mask">
<rect width="100%" height="100%" mask="url(#m-text)" class="shape--fill"></rect>
<use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#s-text" class="text--transparent"></use>
</svg>
</div>
</div>
</div>
计算出你的文本有多大。如果是500x100,那么制作您的ViewBox:
viewBox="0 0 500 100"
我不知道为什么您将文本定位在x=“50%”y=“50%”
。这似乎有点奇怪。在文本元素中,x
和y
坐标设置基线起始的位置。同样,如果您的文本是100高,那么您可能希望将坐标设置为接近于:
x="0" y="100"
function checkVideo() { if(!!document.createElement('video').canPlayType) { var vidTest=document.createElement("video"); oggTest=vidTest.canPlayType('video/ogg; codecs="theora, vorbis"'); if (!oggTest
问题内容: 即时创建元素并能够移动元素的最佳方法是什么?例如,假设我要创建一个矩形,圆形和多边形,然后选择这些对象并四处移动。 我了解HTML5提供了三个使之成为可能的元素:svg,canvas和div。对于我想做什么,这些元素中的哪一个将提供最佳性能? 为了比较这些方法,我正在考虑创建三个视觉上相同的网页,每个网页中都有页眉,页脚,小部件和文本内容。第一页中的小部件将完全使用元素创建,第二页中的
我试图在基于bootstrap 2.2.2的设计中嵌入HTML5视频,但它在Firefox上不起作用,但它在chrome上运行良好,但在Firefox上说我尝试将这些添加到.htaccess文件中,并将其上传到根目录中,但这也没有帮助。 null 注意:我看了前面关于stackoverflow的问题,但没有运气,而且我没有apache配置文件来允许视频样式,因为我是在共享主机上。
问题内容: 我要实现以下目标。 目的是使用户能够从他/她的硬盘驱动器中选择文件。 不上传的原因当然是传输成本和存储配额。没有理由保存文件。 可能吗? 问题答案: 可以播放本地视频文件。 通过元素选择文件时: “更改”事件被触发 从获取第一个File对象 制作指向File对象的对象URL 将对象URL设置为属性 靠后看
主要内容:什么是SVG?,SVG优势,浏览器支持,把 SVG 直接嵌入 HTML 页面,实例,实例,SVG 与 Canvas两者间的区别,Canvas 与 SVG 的比较SVG 定义为可缩放矢量图形。 HTML5 支持内联 SVG。 HTML <svg> 元素是 SVG 图形的容器。 SVG 有多种绘制路径、框、圆、文本和图形图像的方法。 SVG Sorry, your browser does not support inline SVG. 什么是SVG? SVG 指可伸缩矢量图形 (Scal
问题内容: 关于YouTube API博客,他们正在试验新的 HTML5 视频播放器。 显然,要使用html5播放视频,您必须使用iframe嵌入代码: 但是,如果客户端尚未加入HTML5试用版,则即使客户端的浏览器支持HTML5视频,播放器也会自动退回到Flash播放器中。 如果用户尚未参与HTML5试用版,即使浏览器支持,如何强制HTML5视频播放? 否则,如何禁用Flash后备广告? 问题答