小编Mic*_*ael的帖子

我如何解决与表格单元格,文本修饰和填充相关的IE11布局错误?

好像我偶然发现了一个恼人的Internet Explorer 11布局错误.(呃,我以为这些日子已经过去了.)

在下面的示例中,当您将鼠标悬停在IE11上时,右表格单元格上的填充消失:http: //jsfiddle.net/xx4Z4/

这似乎是因为一个令人难以置信的特定CSS场景:

  • 该元素使用 display: table-cell
  • 该元素使用基于百分比的填充,例如, padding: 0 5%
  • text-decoration: underline当父元素悬停时,子元素会添加

如果你改变这三件事中的任何一件,问题就会消失.

这似乎是一个IE11错误,但我想知道:有没有人能想到这个问题的解决方法而不放弃display: table-cell和基于百分比的填充?

html css internet-explorer

22
推荐指数
1
解决办法
4万
查看次数

如何使用元视口和CSS媒体查询使普通的960px网站在iPhone和iPad上看起来不错?

我知道关于元视口标记的Stack Overflow有很多问题,但是我找不到有人问什么似乎是最明显和最有用的问题:

如何使用元视口和CSS媒体查询使平均960px网站设计在iPad(和桌面)上看起来不错,同时仍然为iPhone和其他手机保留较小的视口和网站设计(例如320px)?

对于iPhone,我认为不用说:一个较小的,适合手机使用的网站(例如320px宽)是理想的选择.但对于iPad更大的屏幕,一个特殊的移动网站并不是必需的; 使用正常的960px网站设计似乎是合适的.320px的网站在iPad上看起来很流行,我并不总是想为iPad的768px设计第三种变体.

问题在于:我无法弄清楚如何使用元视口标记和CSS媒体查询来实现1)iPad上的普通网站,以及2)iPhone上的移动网站.我意识到使用JavaScript黑客可能(例如,根据设备动态更改元视口标记),但我不想使用JavaScript; 我不认为应该要求JS在具有静态内容的简单网站上实现基本可用性.

1)如果我完全删除元视口标签,我的普通960px网站在iPad 上看起来很完美,但在iPhone上却很糟糕(右侧大空边距):

没有元视口标记的网站示例

2)另一方面,如果我使用<meta name="viewport" content="width=device-width" />,那么该网站在iPhone上看起来很棒,但在iPad上看起来很糟糕(缩放到768px,在视口外部溢出网站):

具有元视口标记的网站示例

这似乎应该是世界上最简单的东西,但我无法解决它.我错过了什么?

标记/ CSS

CSS:

<style type="text/css">
body { margin: 0; }
.mobile { width: 320px; background: #fdd; display: none; }
.desktop { width: 960px; background: #ddf; }
</style>

<style type="text/css" media="screen and (max-device-width: 480px)">
.mobile { display: block; }
.desktop { display: none; }
</style>
Run Code Online (Sandbox Code Playgroud)

标记:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
</head>
<body>
<div class="mobile">Phone (320px)</div>
<div …
Run Code Online (Sandbox Code Playgroud)

html css mobile

14
推荐指数
2
解决办法
2万
查看次数

是否有用于编写快速C#代码片段的交互式shell?

是否有一个交互式shell用于在C#/ .NET中编写快速代码片段?有时候我有兴趣尝试快速编写一段.NET代码而不创建一个完整的控制台应用程序(当我完成时我必须删除).

我知道立即窗口类提供了这个功能,但似乎你必须打开一个应用程序并调试它以使立即窗口有用.

我曾经修补过Ruby,而Interactive Ruby Shell(irb)是一个非常宝贵的小工具,用于尝试Ruby代码的一小段内容.轻巧,瞬间.这种事情对我来说似乎不费吹灰之力.C#/ .NET有什么类似的东西吗?

.net c#

13
推荐指数
2
解决办法
2561
查看次数

使用JavaScript原型对象时,事件方法中的"this"关键字

我试图在事件处理程序中使用JavaScript访问原型类的成员变量 - 我通常使用"this"关键字(或者在事件处理程序的情况下使用"[this of copy]") .不用说,我遇到了一些麻烦.

举个例子,这个HTML片段:

<a id="myLink" href="#">My Link</a>
Run Code Online (Sandbox Code Playgroud)

这个JavaScript代码:

function MyClass()
{
  this.field = "value"
  this.link = document.getElementById("myLink");
  this.link.onclick = this.EventMethod;
}

MyClass.prototype.NormalMethod = function()
{
  alert(this.field);
}

MyClass.prototype.EventMethod = function(e)
{
  alert(this.field);
}
Run Code Online (Sandbox Code Playgroud)

实例化MyClass对象并调用NormalMethod的工作方式与我预期的完全相同(警告说"值"),但单击链接会产生未定义的值,因为"this"关键字现在引用事件目标(anchor()HTML元素) .

我是原型JavaScript样式的新手,但在过去,使用闭包,我只是在构造函数中复制了"this":

var that = this;
Run Code Online (Sandbox Code Playgroud)

然后我可以通过"that"对象访问事件方法中的成员变量.这似乎不适用于原型代码.还有另一种方法来实现这一目标吗?

谢谢.

javascript events this

12
推荐指数
3
解决办法
2万
查看次数

如何使用AWS S3 API非递归地浏览目录的内容?

假设我在Amazon S3存储桶中有以下目录和文件(文件以粗体显示):

  • bucketname /
  • bucketname /文件夹1 /
  • bucketname/folder1/foob​​ar.txt
  • bucketname /文件夹1/subfolder1 /
  • bucketname/folder1/subfolder1/hello.txt
  • bucketname /文件夹1/subfolder2 /
  • bucketname/folder1/subfolder2/world.txt
  • bucketname /文件夹1/subfolder2/subsubfolder1 /
  • bucketname/folder1/subfolder2/subsubfolder1/file.txt

如何使用.NET AWS S3 API 列出给定目录的所有对象和直接子目录,而不递归获取该目录下的所有内容?换句话说,如何在单个级别"浏览"目录的内容?

例如,想象一下我想要浏览的内容bucketname/folder1/.我想看到的是以下内容:

  • bucketname/folder1/foob​​ar.txt
  • bucketname /文件夹1/subfolder1 /
  • bucketname /文件夹1/subfolder2 /

......别无其他.我不想列出子目录中的文件和目录,我只想列出folder1级别的文件和子目录.

有没有办法将过滤器应用于单个AWS API调用,以便它不会返回所有内容并强制我手动解析我需要的内容?

我发现这个代码让我只获得了直接的子目录(如预期的那样),但我也无法弄清楚如何包含直接文件:

var request = new ListObjectsRequest()
    .WithBucketName("bucketname")
    .WithPrefix(@"folder1/")
    .WithDelimiter(@"/");

using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey))
using (var response = client.ListObjects(request))
{
    foreach (var item in …
Run Code Online (Sandbox Code Playgroud)

.net c# amazon-s3

12
推荐指数
1
解决办法
8902
查看次数

Google Maps API基本地图可以用作自定义地图图层上方的叠加层吗?

是否可以将Google Maps API基本地图数据用作位于自定义地图图层上方的叠加层?

我想创建一个地图,使用谷歌的基础水和陆地/地形作为底层,然后在上面定位一个自定义数据层(红色多边形区域代表我的数据),然后最终定位谷歌地图的街道/边界/城市标签在一切之上.

在此输入图像描述

这可能吗?我尝试将Google地图图层(仅打开街道/边界/城市)推送到overlayMapTypes数组,但似乎强制所有Google地图图层都放在所有内容之上,而我的自定义图层数据(第二层)是不再可见.

google-maps-api-3

10
推荐指数
1
解决办法
1650
查看次数

在浏览器中刷新页面而不重新提交表单

我是一名ASP.NET开发人员,我经常发现自己离开了我正在浏览器中打开的网页(Chrome是我选择的浏览器,但这个问题与任何浏览器都相关).我的工作流通常是这样的:我编写代码,在Visual Studio中重建我的项目,然后用Alt-Tab翻回我的浏览器并点击F5刷新页面.

如果自页面打开后尚未提交表单,这样很好,很花哨.但是,如果我一直在点击ASP.NET表单控件,页面已多次发布表单数据,因此点击F5会导致浏览器(明智地)弹出确认消息,例如"确认表单重新提交:您正在寻找您输入的二手信息的页面......".

有时我确实想重新提交表单,但通常情况下,我只想重新开始使用页面(而不是重新提交表单数据).我通常解决这个问题的方法是简单地将一些查询字符串数据添加到URL中,以便浏览器将其视为新的页面请求,例如:

page.aspx
Run Code Online (Sandbox Code Playgroud)

page.aspx?
Run Code Online (Sandbox Code Playgroud)

(或相反亦然).

我的问题是:有没有更好的方法可以在任何主流浏览器中快速请求新版网页(而不是提交表单数据)?对于我来说,对于Web开发来说,这似乎是不费吹灰之力,但也许我错过了一些东西.我希望看到的是类似于此列表中的最后一项:

  • F5:刷新页面
  • Ctrl-F5:刷新页面(并强制缓存刷新)
  • Alt-F5:请求新的页面副本,而不重新提交表单

browser forms workflow refresh submit

8
推荐指数
1
解决办法
5285
查看次数

如何在嵌套的无序列表中恢复list-style-type的"auto"值?

默认情况下,一组无框架的嵌套<ul>列表看起来像这样(至少在Chrome,Firefox和IE中):

嵌套<ul>屏幕截图

顶层有一个list-style-typedisc,下一级是circle,和随后的水平square.

如果我包含一个更改list-style-typeto 的样式表none,是否有一种简单的方法可以在文档后面恢复为"自动项目符号类型"?(例如,使用后续CSS定义或JavaScript样式更改覆盖)

基本上,我正在寻找类似的东西list-style-type: auto;(显然无效且无效):

<style type="text/css">
    ul { list-style-type: none; }
    ul { list-style-type: auto; } /* Does not work */
</style>
Run Code Online (Sandbox Code Playgroud)

设置list-style-type后退以disc更改列表中的每个项目符号,我不再在不同级别看到不同的项目符号,因此也不起作用.

是通过明确定义每个级别的样式来实现此目的的唯一方法吗?例如:

<style type="text/css">
    ul { list-style-type: disc; }
    ul ul { list-style-type: circle; }
    ul ul ul { list-style-type: square; }
</style>
Run Code Online (Sandbox Code Playgroud)

css

7
推荐指数
1
解决办法
5075
查看次数

当不同的媒体查询生效时,如何阻止动画响应导航菜单(由CSS3过渡提供动力)?

前言

我正在尝试创建一个响应式网站,其导航菜单满足以下两个要求:

  1. 导航在普通浏览器窗口中完全可见,水平布局.
  2. 导航成为移动设备和小屏幕的可切换垂直菜单,在其"打开"和"关闭"状态之间进行动画制作.

我希望性能在移动设备上很好 - 特别是在iOS上 - 这意味着动画应该使用GPU加速的translate3d转换 CSS转换.

我的问题

设置它是一块蛋糕,在大多数情况下它很有效.我使用z-index: 1transform: translate3d(0,-100%,0)隐藏标题后面的菜单z-index: 2处于默认关闭状态,然后transform: translate3d(0,0,0)将菜单设置为其打开状态的动画.

但我只有一个问题:当我调整Chrome浏览器窗口的大小并启动​​移动媒体查询时,菜单会从打开状态设置为关闭状态.

将浏览器窗口的大小调整为小于600px宽,以查看操作中的问题:

我想我知道为什么会发生这种情况:当移动媒体查询启动时,浏览器会看到.nav当前没有活动,因此它会将其设置为默认关闭状态.我已经尝试过使用display:none和使用display:block不同的媒体查询状态,但这似乎完全打破了动画.

当浏览器窗口调整大小时,如何防止导航菜单的"关闭"动画被触发?

css3 css-transitions

7
推荐指数
1
解决办法
3781
查看次数

如何动态清除用户控件中的所有控件?

是否可以动态(和一般)清除所有用户控件的子控件的状态?(例如,它的所有TextBox,DropDrownLists,RadioButtons,DataGrids,Repeater等 - 基本上任何有ViewState的东西)

我试图避免做这样的事情:

foreach (Control c in myUserControl.Controls)
{
    if (c is TextBox)
    {
        TextBox tb = (TextBox)c;
        tb.Text = "";
    }
    else if (c is DropDownList)
    {
        DropDownList ddl = (DropDownList)c;
        ddl.SelectedIndex = -1;
    }
    else if (c is DataGrid)
    {
        DataGrid dg = (DataGrid)c;
        dg.Controls.Clear();
    }

    // etc.

}
Run Code Online (Sandbox Code Playgroud)

我正在寻找这样的东西:

foreach (Control c in myUserControl.Controls)
    c.Clear();
Run Code Online (Sandbox Code Playgroud)

......但显然不存在.有没有简单的方法可以动态/通用地完成此操作?

.net asp.net user-controls controls clear

6
推荐指数
1
解决办法
8486
查看次数

有没有更好的方法从其抽象基类调用派生类的重写方法?

我有一个抽象的基类,从中派生出许多类.我希望派生类能够覆盖基类中定义的虚方法,但基类中存在复杂的逻辑,用于确定在任何特定时刻是否"启用"被覆盖的方法.

考虑这个代码 - 一种可能的解决方案 - 例如:

public abstract class AbstractBaseClass
{
  public bool IsMethodEnabled { get; set; }

  public virtual void DerivedMethod() { }

  public void Method()
  {
    if (IsMethodEnabled)
      DerivedMethod();
  }
}

public class DerivedClass : AbstractBaseClass
{
  public override void DerivedMethod()
  {
    Console.WriteLine("DerivedMethod() was called.");
  }
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,IsMethodEnabled是更复杂的逻辑的简写,它确定是否DerivedMethod应该调用 - 它是我想要封装在基类中的代码,这样我就不必在每个派生类中重现它.

设计按预期工作.如果我运行此示例代码:

AbstractBaseClass a1 = new DerivedClass() { IsMethodEnabled = false };
AbstractBaseClass a2 = new DerivedClass() { IsMethodEnabled = true };

a1.Method();
a2.Method();
Run Code Online (Sandbox Code Playgroud)

...... …

c# oop design-patterns

6
推荐指数
1
解决办法
332
查看次数

如何从可中止的AJAX请求返回二进制图像数据并将结果设置为HTML/DOM图像的src?

我正在编写一个Web应用程序,它涉及在网页上创建(和删除)大量图像的连续循环.每个图像由服务器动态生成.

var img = document.createElement("img");
img.src = "http://mydomain.com/myImageServer?param=blah";
Run Code Online (Sandbox Code Playgroud)

在某些情况下,其中一些图像在完成下载之前比它们的实用性更长.那时,我从DOM中删除它们.

问题是浏览器即使在从DOM中删除后仍继续下载这些图像.这造成了瓶颈,因为我有新的图像等待下载,但他们必须等待旧的不需要的图像先完成下载.

我想中止那些不需要的图像下载.显而易见的解决方案似乎是通过AJAX请求二进制图像数据(因为AJAX请求可以中止),并在下载完成后设置img.src:

// Code sample uses jQuery, but jQuery is not a necessity

var img = document.createElement("img");

var xhr = $.ajax({
        url: "http://mydomain.com/myImageServer?param=blah",
        context: img,
        success: ImageLoadedCallback
    });

function ImageLoadedCallback(data)
{
    this.src = data;
}

function DoSomethingElse()
{
    if (condition)
        xhr.abort();
}
Run Code Online (Sandbox Code Playgroud)

但问题是这条线路没有按照我希望的方式工作:

this.src = data;
Run Code Online (Sandbox Code Playgroud)

我搜索过高低.有没有办法将图像源设置为通过AJAX发送的二进制图像数据?

ajax binary image response src

5
推荐指数
1
解决办法
4889
查看次数

如何将3D Silverlight 5 Web应用程序部署到第三方托管服务器?

我想做的事

我一直在玩弄新发布的Silverlight 5以及Silverlight的5工具包(2011年12月),我想试试我的部署Silverlight的3D测试应用程序的第三方托管服务器(AppHarbor在我的情况,但我对其他选项开放).

我的测试应用程序只是您在创建新的Silverlight 3D应用程序时获得的默认Silverlight 3D应用程序:

看起来AppHarbor(以及大多数其他托管站点)要求您将所需的Silverlight 5 DLL复制到项目中,因为它们的服务器上没有安装所需的SDK/Toolkits.

理论上似乎很好,但我不知道如何使用Silverlight实际执行此操作.

问题

问题是双重的:

  1. 我不确定哪些DLL需要手动复制到我的项目中,我不确定它们应该如何被包含和引用.

  2. (而不是SDK安装和工具包安装DLL)的一些实验用复制几个Silverlight的XNA的DLL到我的项目和引用本地项目的DLL后,当我在浏览器中运行的基本的3D Silverlight应用程序现在崩溃- - 当地.(Silverlight插件崩溃.)在我开始摆弄引用和DLL之前,我没有遇到这个问题; 默认项目工作得很好.所以我甚至没有部署到托管服务器,因为它不再在本地运行.

一边说

在上面的后一点(Silverlight插件崩溃),问题似乎与3D Silverlight功能有关,这显然需要提升的信任/权限 - 诚然,我并不完全理解这一切是如何工作的.

一般来说 - 不管这一切的DLL /参考摆弄的 - 好像我需要检查在Silverlight3dApp项目属性"需要提升的信任在浏览器中运行时"来获得纺纱3D立方体的应用程序在浏览器中显示出来.或者,如果我不选中,我需要在浏览器中右键单击Silverlight 5应用程序并在"权限"选项卡上启用3D图形.(附注:我对如何部署这个会影响我的最终用户感兴趣.他们是否必须以同样的方式手动调整权限?无论如何,这是一个不同日子的问题.)

抛开这一点:

  1. 如果我按照默认方式保留所有内容,Silverlight插件不会崩溃.
  2. 如果我将Silverlight DLL复制到我的项目中并在本地引用它们,那么如果启用了 3D权限,则Silverlight插件会崩溃.
  3. 如果我将Silverlight DLL复制到我的项目中并在本地引用它们,那么如果禁用 3D权限,Silverlight插件不会崩溃.

这个问题

有没有人成功地将基本的Silverlight 5 3D应用程序部署到没有安装Silverlight 5(和Silverlight 5 Toolkit)的服务器上?

你是怎么做到的?需要将哪些文件复制到我的项目中并在本地引用?需要删除哪些引用(如果有)?

子问题:如果有人对提升的信任/权限问题有任何见解,我也很乐意听到这些问题.

deployment silverlight silverlight-toolkit appharbor

3
推荐指数
1
解决办法
963
查看次数