我正在学习使用 svg 图标,现在尝试直接从 psd 中提取图标。使用 adobe photoshop 2017 可以将图像导出为 svg 代码。然而,在此代码中,生成的标签不是标签(据我所知,这是 base64 编码?!)。因此,我无法修改图标,例如,给它们不同的颜色(填充)等。
\n\n我的问题是 - 将图像转换为 svg 的最佳方法是什么,以便它包含标签,最好使用 Photoshop?
\n\n基本上,我想要这样的东西:
\n\n<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n<path clip-rule="evenodd" d="M0 0h24v24H0z" fill="none"/>\n<path d="M22.7 19l-9.1-9.4z"/>\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n这大约是我使用 Photoshop 得到的结果:
\n\n<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="34" height="48" viewBox="0 0 34 48">\n <metadata><?xpacket begin="\xef\xbb\xbf" id="W5M0MpCehiHzreSzNTczkc9d"?>\n <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01 ">\n <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n <rdf:Description rdf:about=""/>\n </rdf:RDF>\n </x:xmpmeta> \n <?xpacket end="w"?></metadata>\n <image width="34" height="48" xlink:href="data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAwCA0gTiVBORw0KGgoAAAANSUhEUgAAACIAAAAwCA0gTiVBORw0KGgoAAAANSUhEUgAAACIAAAAwCA0gT="/>\n </svg>\nRun Code Online (Sandbox Code Playgroud)\n\n … 我有一个使用引导程序创建的布局,并且有一个“阅读更多”按钮可以扩展文本。文本展开后,将变为“显示较少”。我的问题是,当用户单击“显示较少”按钮时,按钮文本首先变回“阅读更多”,然后仅折叠THEN文本(段落)。这个时差很明显。但是,是否有一种方法可以使按钮在折叠后更改其文本,或者以某种方式使此时差不那么明显?
在我的js文件中,只有用于更改按钮文本的代码,并且文本切换完全在引导程序上进行,也许我不应该对这个特定按钮使用引导程序?
请注意,我的问题不在于将按钮文本本身从“阅读更多”更改为“显示更少”,我知道周围有很多解决方案。
标记“更多”按钮:
<p>Initital text <span id="moreText" class="collapse">more text here...</span><a id="readMore" data-toggle="collapse" href="#moreText">Read More</a>
Run Code Online (Sandbox Code Playgroud)
按钮的JS:
$(function() {
$('#readMore').click(function() {
$(this).text(function(i,def) {
return def=='Read More' ? 'Show Less' : 'Read More';
});
})
});
Run Code Online (Sandbox Code Playgroud) 我想找到数组中最长的数字序列,如下所示:
string = input.scan(/(\d+)/)
string.max_by(&:length)
Run Code Online (Sandbox Code Playgroud)
但是,在输出中我只得到数组中的第一个值.
整个代码是:
puts "Enter a string with letters and numbers"
input = gets
string = input.scan(/(\d+)/)
puts string.max_by(&:length)
Run Code Online (Sandbox Code Playgroud)
我尝试使用其他方法,只是为了测试它们如何工作,结果证明它们都不起作用,即使是那些我从工作示例中复制过的方法.有什么不对?