css动态背景图像定位(css dynamic background image positioning)
我有一些动态图像作为一些div的背景。 那些具有可变的宽度和高度。 在每个这样的div前面我有一个单选按钮。 有一种方法可以通过css对齐每个div正好在中间,指的是它前面的单选按钮吗? 我不能使用固定的背景高度,因为有动态和高度不同。 我试图把
background-size: 100% 100%;
或background-size: auto;
不起作用任何帮助都非常受欢迎,谢谢!I have some dynamic images as a background for some divs. Those have variable widths and heights. In front of each such a div i have a radio button. There is a way to align through css each div to be exactly at the middle referring to the radiobutton in front of it? I cannot use fixed background height since there are dynamic and the height are different. I was trying to put
background-size: 100% 100%;
orbackground-size: auto;
Doesn't work Any help is more than welcome, thanks!!!
原文:https://stackoverflow.com/questions/27900171
最满意答案
如果您对自己的格式保持一致有信心,那么您可以将其删除(我将日期时间用于说明目的);
CONVERT(DATETIME, REPLACE('20161021-12:55:16.000','-',' '), 102)
结果
2016-10-21 12:55:16.000
对于转换,您可以转换为日期时间,取消您的小时数,然后转换为您想要的日期格式;
CONVERT(DATETIME, DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-12:55:16.000','-',' '))), 102)
结果;
2016-10-21 07:55:16.000
为了更好地了解这一点,请在凌晨5点之前设置它,然后您将获得前一天;
CONVERT(DATETIME, DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' '))), 102)
结果
2016-10-20 23:55:16.000
作为参考,在我的测试系统上,您不需要转换为102,这是默认值。
DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' ')))
为了获得动态的时差,可以做这样的事情;
DATEADD(hh,DATEDIFF(hh,GETUTCDATE(),GETDATE()),CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' ')))
If you're confident with your format being consistent then you can just take that dash out (I've used datetime for illustration purposes);
CONVERT(DATETIME, REPLACE('20161021-12:55:16.000','-',' '), 102)
Result
2016-10-21 12:55:16.000
For the conversion you can convert to datetime, take off your hours and then convert to the date format you want;
CONVERT(DATETIME, DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-12:55:16.000','-',' '))), 102)
Result;
2016-10-21 07:55:16.000
To get a better idea of this, set it before 5am and you will get the previous day;
CONVERT(DATETIME, DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' '))), 102)
Result
2016-10-20 23:55:16.000
For reference, on my test systems you don't need to convert to 102, that's the default.
DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' ')))
To get the time difference dynamically do something like this;
DATEADD(hh,DATEDIFF(hh,GETUTCDATE(),GETDATE()),CONVERT(DATETIME,REPLACE('20161021-04:55:16.000','-',' ')))
相关问答
更多-
如果要将结果存储为03-01则变量不能是date类型。 将@startmonth数据类型更改为varchar 您的查询中也有一些不需要的代码。 尝试这个。 DECLARE @startmonth VARCHAR(6),@newdate DATE SELECT @newdate = Dateadd(DAY, 1,'2012-02-29') SELECT @startmonth = LEFT(CONVERT(VARCHAR(15), @newdate, 110), 5) Print @startmo ...
-
您可以使用CONVERT使用以下内容: SELECT CONVERT(DATE, string, 106) -- example SELECT CONVERT(DATE, '07 Nov 2014', 106) -- 2014-11-07 您可以在microsoft docs上找到包含所有日期和时间样式的列表(第3个参数106 )。 您还可以在SQL Fiddle上找到有关演示的工作演示 。 You can use the following using CONVERT: SELECT CONVERT( ...
-
在CASE WHEN部分中,您返回一个string 'Total'但在ELSE Part中,您将返回一个date type value因此一列如何可以有两种类型的数据,因此您需要将cast your date to string type ,如下所示: CAST(End_Date AS VARCHAR) 要么 CONVERT(VARCHAR, End_Date , 120) 更正的查询: SELECT Account, Amount = SUM(Amount), EndDat ...
-
从字符串Error转换日期和/或时间时转换失败(Conversion failed when converting date and/or time from character string Error)[2023-07-08]
指定您正在使用的日期格式: Select CONVERT(Date, '13-5-2012', 105) 105意为具有世纪(dd-mm-yyyy)的意大利日期格式。 参考: http : //msdn.microsoft.com/en-us/library/ms187928.aspx Specify what date format you are using: Select CONVERT(Date, '13-5-2012', 105) 105 means Italian date format w ... -
如果您对自己的格式保持一致有信心,那么您可以将其删除(我将日期时间用于说明目的); CONVERT(DATETIME, REPLACE('20161021-12:55:16.000','-',' '), 102) 结果 2016-10-21 12:55:16.000 对于转换,您可以转换为日期时间,取消您的小时数,然后转换为您想要的日期格式; CONVERT(DATETIME, DATEADD(hh,-5,CONVERT(DATETIME,REPLACE('20161021-12:55:16.000' ...
-
将DATE和TIME值转换为DATETIME后,可以将它们连接在一起。 这是一个要播放的示例,它显示了连接已存储为VARCHAR的DATE列和TIME列: -- Set up some variables to test with DECLARE @myTime TIME = GETDATE() , @myDate DATE = GETDATE() , @myTimeTxt VARCHAR(16) , @myDateTxt VARCHAR(10); -- Initialize yo ...
-
我同意Tanner的观点,即模式需要能够评估问题(即列数据类型)。 乍一看,虽然在我看来, [BankHolidays] [Date]可能是某种字符串数据类型,并且该列包含某些无法转换为DATE类型的字符串值。 I agree with Tanner that the schema is required to be able to assess the issue (i.e. the column datatypes). At first glance, though it appears to me t ...
-
从输出结果看,在checkstring变量中有一个换行符。 如果这不仅仅是问题中的复制和粘贴错误,那会导致您所描述的错误。 见下文 DECLARE @TString as char(11) SELECT @TString = ' 12/18/2009' -- Check content before conversion SELECT @TString as 'CheckTString' -- Convert the strings to date SELECT CONVERT(dat ...
-
我在这里看到了几个问题。 首先,为什么要将DateRegistered转换为日期时间? 你说它已经是一个日期时间列吗? 进行比较时格式化它不会有任何区别。 但它确实会使您的查询为nonSARGable,并且现在忽略该列的任何索引。 我看到的第二个问题是我猜你在过去6天内想要什么。 你编码的方式不准确。 您的计算将排除在当前时间之前的那一天发生的任何行。 查看变量的值。 DECLARE @Now DATETIME = GETDATE(); DECLARE @6DaysAgo DATETIME = DATEAD ...
-
您指定的输出格式与任何Sybase标准样式都不完全相同(请参见Sybase 文档中的convert函数 )。 它与109风格非常接近,只是日期和月份相反,并且当时没有前导零。 要进行此转换,您需要将字符串转换为Sybase可以理解的格式,并且可以转换为日期时间(例如yyyymmdd hh:mm:ss),将其转换为日期时间,然后将其转换回字符串使用109风格。 例: create table #test (test varchar(255)) insert #test select '20141228092 ...