Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 4175)
+++ /CKEditor/trunk/CHANGES.html	(revision 4176)
@@ -57,4 +57,5 @@
 		<li><a href="http://dev.fckeditor.net/ticket/3370">#3370</a> : Refactored use of CKEDITOR.env.isCustomDomain().</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4230">#4230</a> : HC detection caused js error.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3978">#3978</a> : Fixed setStyle float on IE7 strict.</li>
 	</ul>
 	<h3>
Index: /CKEditor/trunk/_source/core/tools.js
===================================================================
--- /CKEditor/trunk/_source/core/tools.js	(revision 4175)
+++ /CKEditor/trunk/_source/core/tools.js	(revision 4176)
@@ -198,16 +198,25 @@
 		 * alert( CKEDITOR.tools.cssStyleToDomStyle( 'float' ) );             // "cssFloat"
 		 */
-		cssStyleToDomStyle : function( cssName )
-		{
-			if ( cssName == 'float' )
-				return 'cssFloat';
-			else
-			{
-				return cssName.replace( /-./g, function( match )
-					{
-						return match.substr( 1 ).toUpperCase();
-					});
-			}
-		},
+		cssStyleToDomStyle : ( function()
+		{
+			var test = document.createElement( 'div' ).style;
+
+			var cssFloat = ( typeof test.cssFloat != 'undefined' ) ? 'cssFloat'
+				: ( typeof test.styleFloat != 'undefined' ) ? 'styleFloat'
+				: 'float';
+			
+			return function( cssName )
+			{
+				if ( cssName == 'float' )
+					return cssFloat;
+				else
+				{
+					return cssName.replace( /-./g, function( match )
+						{
+							return match.substr( 1 ).toUpperCase();
+						});
+				}
+			};
+		} )(),
 
 		/**
